我已在向量中插入结构值,现在我想删除/更新特定结构。
我尝试过:定义结构
struct _Data
{
std::string sPath;
unsigned short *id;
UINT nValue;
};
定义一个向量
vector<struct _Data> vDATA;
现在在 main 方法中插入向量中的值。
struct _Data Record;
vDATA.push_back(Record);
我已经插入了 n 数值。现在我正在尝试从向量中一一获取结构中的 id 并使用不同的 id 进行更新。我试过:
for(int i = 0; i< vDATA.size(); i++)
{
Record = vDATA[i];
std::string sTempPath = Record.sPath;
UINT nTemp = Record.nValue ;
std::wstring sTemp = Record.id;
现在更新 ID 的值:
Record.id = <different value>
vDATA.erase(i);
vDATA.push_back(Record);
编译时生成错误为'struct Data * _thiscall std::vector >::erase(struct _Data *)':无法将参数1从'int'转换为'struct _Data
任何建议,我做错了。
谢谢