Resize bei einem Vektor aus Objekten
-
Hallo,
ich fummel mich gerade etwas in die STL ein und bin an einem Punkt wo ich nicht mehr weiter weiß.
Ich habe eine Klasse 'varContainer' erstellt. Jetzt habe ich zusätzlich eine weitere Klasse 'varBase' der ich mit einer Methode addVar Objekte der varContainer-Klasse hinzufügen möchte.
Das Ganze würde ich gerne mit der Container-Klasse vector erledigen.
Ich habe also:class varBase { private: vector<varContainer> variables(); public: varBase(); ~varBase(){}; void addVariable(string name); int getValue(string name); void setValue(string name); };In der Methode addVariable hänge ich jetzt fest.
Wenn ich dort schreibe:void varBase::addVariable(string name) { variables.resize(variables.size() + 1); }bekomme ich dort die Fehlermeldung:
"insufficient contextual information to determine type"Leider sind in alle Beispiele im Netz mit Standard-Datentypen (int o.Ä) bei denen es bei resize so zu gehen scheint.
In meinem C++ Buch steht zu resize:
void resize(size_type n, T c = T() );
Damit kann ich aber nichts anfangen.
Hat jemand einen heißen Tip für mich was ich bei meinem resize-Aufruf falsch mache?Danke und Gruß
Thomas
-
Es liegt nicht am Aufruf von resize, sondern daran wie
variablesdeklariert ist (Tipp: Schau mal die Klammern an :))
-
Danke, dann hab ich den Fehler an der ganz falschen Stelle gesucht.
Aber warum z.B. ein vector mit 10 Integerwerten auch mit Klammern, also
vector<int> meineInts(10);
angelegt wird ist mir nicht schlüssig.