同标题,该如何删除呢?我用过下面这个方法:
ValueVector array;
…
array.erase( std::find( array.begin(),array.end(),obj ) );
但是这样会报错,如下
error C2678: 二进制“==”: 没有找到接受“cocos2d::Value”类型的左操作数的运算符(或没有可接受的转换)
是该如何是好?
同标题,该如何删除呢?我用过下面这个方法:
ValueVector array;
…
array.erase( std::find( array.begin(),array.end(),obj ) );
但是这样会报错,如下
error C2678: 二进制“==”: 没有找到接受“cocos2d::Value”类型的左操作数的运算符(或没有可接受的转换)
是该如何是好?
array.eraseObject(obj);
star特530 是本人吗?? 大神怎么问这种问题呢?
你这是用在Vector上的,我说的是ValueVector…
我是菜鸟。你知道答案?
typedef std::vector ValueVector; ValueVector std::vector里面有删除吗??
我没试验过啊! 我读过你很多文章啊,不要谦虚啊。 而且最近博客不更新了啊 天涯海阁的
std::vector里有erase,但用了编译会报错。哎。C++ 水平太低了
array.erase( std::remove( array.begin(),array.end(),obj ), array.end());
用过啦,不行。
偷偷地尝试了很多次,表示我也删除不掉,new出来的元素才能删…
吐槽一下,你这是什么需求,不予通过~
我编译都过不了。
话说你怎么删的?
我也删不了,我是说这样的就能删:std::vector<Value*> (有*号)
你是要实现什么功能呢?~
额,实现什么功能也不重要啦,就是想把它删掉…别说我是强迫症
:868: 我不会说的。。。
std::find里面的数据类型必须实现==运算符,没有这个运算符,它怎么找到相等的数据呢
array.erase(array.begin() + index)
因为Value没有重载==,所以没法查找,所以没法删除
看来你必须自己用for循环判断,然后用迭代器删除了
木头也没辙了?