读书人

Vector erase 息解决思路

发布时间: 2012-03-09 16:54:57 作者: rapoo

Vector erase 息
做把struct 塞去 vector的候,一小。

文字版列印?
class TCP
{
private:
AnsiString cv_Name;
vector <TCP> cv_tmp;
void __fastcall test(const unsigned int Index, const TCP& Item);

public:
AnsiString atmp;
//__property AnsiString Name = {read=cv_Name,write=cv_Name}; //解取消有常生,原因不明
};

void __fastcall TCP::test(const unsigned int Index, const TCP& Item)
{
cv_tmp.erase(&cv_tmp[Index]);
}


上面是我的code,__property AnsiString Name 存在的候,

cv_tmp.erase(&cv_tmp[Index]);

一行就出 E2328 Classes with properties cannot be copied by value的息。

不知道啥米而生,不知道各位大大在撰程式的候有生似的情?



[解决办法]
cv_tmp.erase(&cv_tmp[Index]);
错误,参数是迭代器。你给的参数是地址。
cv_tmp.erase( cv_tmp.begin() + Index );

读书人网 >C++ Builder

热点推荐