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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.