webForumDet fria alternativet

Iterera ett list-objekt

C/C++

3 svar · 537 visningar · startad av jme

Medlem sedan maj 20012 237 inlägg
Frågan#1

Om jag lagrar ett objekt av typen *Ingredient i en <list> så hur i världen ska jag plocka ut den?

Försökte med:

	list <Ingredient*> ingredients = xxxx;

	list <Ingredient*>::iterator iterator;
        for(iterator = ingredients.begin(); iterator != ingredients.end(); iterator++)
        {
        cout << iterator->getName();
        ...

Men detta ger mig:

c:\Documents and Settings\Janimatti Ellonen\Omat tiedostot\Koulu\2. vuosi\Cplusplus\Harjoitus\App.cpp(55): error C2227: left of '->getName' must point to class/struct/union

Med <map> så fungerar ju iterator->second->getName();

Medlem sedan maj 20012 237 inlägg
#2

Ingen lösning på själva problemet, men jag bytte till vector och nu fungerar det jag vill.

Medlem sedan dec. 20025 483 inlägg
#3
(*iterator)->getName()
Medlem sedan maj 20012 237 inlägg
#4

Ach so! Ska försöka komma ihåg det. Tack!

245 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)