读书人

quot;==quot;没找到接受“XXX”类型的左操作数

发布时间: 2013-07-08 14:13:00 作者: rapoo

"=="没有找到接受“XXX”类型的左操作数的运算符(或没有可接受的转换)
for(UserList::iterator UserIterator = ClientList.begin();
UserIterator != ClientList.end();
UserIterator++)
{
if(strcmp((*UserIterator).userName,currentuser.userName) == 0)
{
// typedef list<stUserListNode> UserList;
// UserList ClientList;
ClientList.remove(*UserIterator); //此处错,求解
break;
}
}
错误 6 error C2678: 二进制“==”: 没有找到接受“stUserListNode”类型的左操作数的运算符(或没有可接受的转换) Iterator
[解决办法]

ClientList.remove(UserIterator); //去掉*号,编译应该没错

[解决办法]
问题是,一边改变UserList的内容,一边遍历,会出错滴...

[解决办法]
没事,他只是删除一个就退出了,不会出错, 不要用(*UserIterator).userName,看着多余。
UserIterator->userName

读书人网 >C++

热点推荐