這是我的代碼:通過迭代STD:列表<wstring>
for (std::list<std::wstring>::iterator itr = kb->titles.begin(); itr != kb->titles.end() ; itr++)
{
_size += *itr.size();
}
我所試圖做的是訪問每個WSTRING包含在列表中,並調用它的大小()成員函數。然而,itr指出的內容似乎並不是迭代的wstring元素,而且出現錯誤(錯誤C2039:'size':不是'std :: _ List_iterator < _Mylist>'的成員)
你想知道它是什麼kb它是一個結構指針std::list<std::wstring> titles;
作爲其成員之一。
有關如何解決此問題的任何想法?
嘗試itr-> size() – Lou 2012-04-17 18:57:26
使用C++ 11,使用ranged-for循環變得很容易:'for(auto title:titles)_size + = title.size();' – chris 2012-04-17 19:03:27
@chris您可能想要它在這種情況下爲'(const auto&title:titles){/ * .. * /}' – Praetorian 2012-04-17 19:11:50