这是我的代码:
for (std::list<std::wstring>::iterator itr = kb->titles.begin(); itr != kb->titles.end() ; itr++)
{
_size += *itr.size();
}我要做的是访问列表中包含的每个wstring,并调用它的size()成员函数。然而,itr指出的似乎不是迭代的wstring元素,我得到了一个错误(错误大小:‘C2039’:不是‘std::_List_iterator<_Mylist>’的成员)
如果你想知道kb是什么,它是一个指向一个结构的指针,它的成员之一是std::list<std::wstring> titles;。
有什么办法解决这个问题吗?
发布于 2012-04-18 02:57:09
运算符优先级是这里的问题,请尝试
_size += (*itr).size();或者更好,
_size += itr->size();发布于 2012-04-18 02:57:52
您缺少括号:
_size += (*itr).size();
_size += itr->size();这两种方法都应该有效。
https://stackoverflow.com/questions/10197309
复制相似问题