我想做的是
for (list<cPacket *>::iterator i = cache.begin(); i != cache.end(); i++){
if( strcmp(i->getName(),id) == 0 ){
return true;
}
}
其中getName
是类cPacket的函数,但它不起作用,我也尝试了
i.operator->()->getName()
,而且一无所获。
有人能帮助我吗?
答案 0 :(得分:8)
(*i)->getName()
正是您要找的。 p>
答案 1 :(得分:6)
*i
取消引用迭代器。由于列表的数据类型为pointer to cPacket
,您需要应用->
运算符来访问其成员。正确的优先需要括号:
(*i)->whatever()
答案 2 :(得分:-3)
替换
list<cPacket *>::iterator i
带
list<cPacket>*::iterator i