Есть вещь, которую я действительно не могу понять.Следующая ситуация:
Файл Test.h:
class Test{
public:
const std::list<Item*>& getItems() { return m_items; }
void showSomething() const;
private:
std::list<Item*> m_items;
}
Файл Test.cpp:
void Test::showSomething() const{
for (std::list<Item*>::const_iterator item_it = getItems().begin(); item_it != getPlayers().end(); item_it++) {
doSomething();
}
}
Visual Studio сообщает, что это не работает, и подчеркиваетgetItems () в цикле for.Ошибка переводит что-то вроде «Спецификатор типа не совместим с функцией-членом getItems ... Объект является const Test».
Я знаю, что getItems () возвращает константную ссылку на список Item-Pointers.Но почему я не могу использовать его в цикле for?