【新手求助】3.0的ValueVector如何删除一个元素?

同标题,该如何删除呢?我用过下面这个方法:
ValueVector array;

array.erase( std::find( array.begin(),array.end(),obj ) );

但是这样会报错,如下
error C2678: 二进制“==”: 没有找到接受“cocos2d::Value”类型的左操作数的运算符(或没有可接受的转换)

是该如何是好?

array.eraseObject(obj);

star特530 是本人吗?? 大神怎么问这种问题呢?

你这是用在Vector上的,我说的是ValueVector…:12:

我是菜鸟。你知道答案?:14:

typedef std::vector ValueVector; ValueVector std::vector里面有删除吗??
我没试验过啊! 我读过你很多文章啊,不要谦虚啊。 而且最近博客不更新了啊 天涯海阁的

std::vector里有erase,但用了编译会报错。哎。C++ 水平太低了

array.erase( std::remove( array.begin(),array.end(),obj ), array.end());

用过啦,不行。

偷偷地尝试了很多次,表示我也删除不掉,new出来的元素才能删…

吐槽一下,你这是什么需求,不予通过~:3:

我编译都过不了。
话说你怎么删的?:2:

我也删不了,我是说这样的就能删:std::vector<Value*> (有*号)

你是要实现什么功能呢?~

额,实现什么功能也不重要啦,就是想把它删掉…别说我是强迫症:9:

:868: 我不会说的。。。

std::find里面的数据类型必须实现==运算符,没有这个运算符,它怎么找到相等的数据呢

array.erase(array.begin() + index)

因为Value没有重载==,所以没法查找,所以没法删除

看来你必须自己用for循环判断,然后用迭代器删除了

木头也没辙了?