Iterera ett list-objekt

C/C++

3 svar · 551 visningar · startad av jme

Medlem sedan maj 20012 237 inlägg
Trådstart#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!

651 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
356 ms — deklarationer (db)
137 ms — hämta statistik (db)
152 ms — hämta tråd, inlägg och bilagor (db)
262 ms — ändringar (db)