LINUX.ORG.RU

STL


0

0

Имеется контейнер класса SPR. Пытаюсь по ключу SPR->id найти объект. И присвоить его адрес указателю SPR.

typedef vector<SPR> SBVect;

for (SBVect::iterator z = allSpr->begin(); z!=allSpr->end; ++z){
	if (z->id==b[8])
		temp.spr = &(*z); <------- Это не срабатывает. *z, z, &z не срабатывает.
}
HELP!!!
anonymous

обойти это можно, но лучшее так вообще не делать.

anonymous
()

Ну почему же не делать... Пуркуа бы, и не па, как говорится... 
Только я себе это так мыслю:

typedef std::vector<SPR> SBVect;

for (SBVect::iterator z = allSpr->begin(); z != allSpr->end(); ++z){
	if (z->id==b[8])
		temp.spr = static_cast<SPR*>(&(*z));
}

PS. 2.96 сожрал бы все и без этого,но нехорошо как-то...

tarle
()

temp.spr = z.data();

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.