Очень простой std :: vector итерация - PullRequest
1 голос
/ 23 сентября 2011
std::vector<Ogre::SceneNode*>::iterator itr;
for(itr=mSelectedObjects.begin();itr!=mSelectedObjects.end();itr++){
    itr->showBoundingBox(true); //here
}

Я получаю «выражение должно иметь указатель на тип класса» в отмеченной строке, и я не уверен, почему. Кто-нибудь может помочь?

1 Ответ

7 голосов
/ 23 сентября 2011

Замените ошибочную строку на:

(*itr)->showBoundingBox(true); //here

Поскольку вы храните указатели, вам нужно дважды разыменовать itr, чтобы перейти от итератора к объекту (один раз для итератора и один раз дляуказатель).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...