STL in vector Verschchtelung "verheddert"
-
Hallo, ich habe mich irgendwie beim "auspacken" meiner Daten verheddert. Das Einpacken war relativ easy, nur will ich jetzt an die Daten ran und verhau mich da immer wieder. Vielleicht kann mir einer von Euch helfen, meine Gedanken wieder zu ordnen. Leider habe ich ne halbe ewigkeit nicht mehr grossartig mit verschachtelten STL vecors gearbeitet...
Ich habe drei Klassen, wobei Letztere einen Vektor mit Elementen der vorherigen enthält, diese weiderum einen mit Elementen der ihr untergeordneten, und diese enthalten jeweils Daten:
class CLetter { string name; int h; int w; }; class CAlphabet { vector<CLetter> letters; }; CColletion { vector<CAlphabet> alphs; };Nun bau ich mir nen Klassenzeiger *coll (die implemetierung erspar ich uns jetzt mal) und will die Daten extrahieren:
cout << "Name: " << coll->alphs.pop_back().letters.pop_back().name;Irgendwie klappt das nicht und der Compiler bemängelt einen "Invalid use of 'void'" nur versteh ich nicht, was er damit meint.
-
Er meint damit dass pop_back() void zurückgibt und dass void keine Members hat

-
cout << "Name: " << coll->alphs.back().letters.back().name;//edit hoffe, dass du nur den letzten member ausgeben wolltest^^
-
Danke, pop_back klappt nicht, aber ich hatte es in der Zwischenzeit auch gefunden.