Problem bei mit Template Klasse
-
Möglicherweise ist bei deiner Version der vector-Klasse kein Ctor definiert, der die Anfangsanzahl der Elemente annimmt.
-
etzt habe ich die Fehlermeldung kein geeigneter Standardkonstruktor,
Kann es sein, das deine Struktur keinen Standard-C'tor besitzt? Das bedeutet, du hast einen C'tor definiert, aber keinen, der ohne Parameter auskommt.
warum soll di e Klammer und die 10 denn weg??
Versteh' ich auch nicht.
-
Ich meine noch letztens im Struppi gelesen zu haben, dass eine struct wie eine klasse sei, mit dem unterschied, dass die struct nur über einen standard-ctor verfügen kann. ich kann mich auch irren.
-
DennisB schrieb:
ich kann mich auch irren.
jep, da hast du recht.
-
Das mit dem fehlendem Standardkonstruktor ist schon richtig, die Container Klasse braucht nun mal ein Parameter vom Typ integer.
Ich habe die Fehlermeldung ja nur wenn ich die Klammer mit dem Parameter weglasse.
Mit Klammer und 10 bekomme Syntaxfehler 'constat'
-
zeig mal die Struktur.
-
Die Definition sieht so aus:
struct auszahlung
{
string empfanger;
string zweck;
short tag;
short monat;
short jahr;
double betrag;
};
-
Hallo,
den folgenden Code sollte dein Compiler anstandslos übersetzen. Ansonsten ist er kaputt#include <string> #include <vector> using namespace std; struct auszahlung { string empfanger; string zweck; short tag; short monat; short jahr; double betrag; }; int main() { vector<auszahlung> v(10); }
-
danke es geht jetzt, wenigstens in der main Funktion.
Ich ***** habe völlig vergessen euch zu sagen das diese Initaliesierung in einer Klasse steht. Also direkt im private Teil:
class xy
{
private:
vector<auszahlung> v(10);
}Wie kriege ich nun sowas hin?
-
class xy { public: xy () : v(10) {} //hier private: vector<auszahlung> v; }
in der elementinitialisierungsliste des ctors.
-
Danke ich bekomme jetzt schon mal keine Compiler Fehler mehr, ich glaube es funzt jetzt.