in constructor initializer list ein array definieren
-
folgendes problem:
struct zhamilton{
int qb[2];
double fak;
zhamilton( int qb1, int qb2, double f):qb[0](qb1), qb[1](qb2), fak(f) {}
};diese initializer list funktioniert nicht. wie mach ich's aber richtig ?
so :struct zhamilton{
int qb[2];
double fak;
zhamilton( int qb1, int qb2, double f):qb({qb1,qb2}), fak(f) {}
};gehts auch nicht.
hat jemand ne idee ?
-
hi
also afaik kannst du das nur so machen:
struct zhamilton{ int qb[2]; double fak; zhamilton(int qb1,int qb2,double f):fak(f){qb[0] = qb1; qb[1] = qb2;} };
aber das kann sein das ich mich da irre!
MfG
eViLiSSiMoPS: BENUTZE CODE TAGS!
-
Tja danke erstmal.
das mit den Codetags wusste ich nicht.Klar kann ichs so machen wie du gemeint hasst, allerdings ist int qb[2] dann nicht mehr in der initializer list initialisiert sondern im code teil.
ich wuerde gerne wissen, wie mann das in der initializer list macht.
-
Auch wenn VC6++ nicht gerade für Standardkonformität berühmt ist - er liefert folgende Fehlermeldung:
Angabe einer expliziten Initialisierung fuer Felder nicht moeglich
C:\Project\Test\main.cpp(9) : Siehe Deklaration von 'qb'
Fehler beim Ausführen von cl.exe.Vielleicht hat er ja diesmal Recht damit?
-
ich wuerde gerne wissen, wie mann das in der initializer list macht.
Gar nicht. Arrays können nicht in der Initialisierungsliste initialisiert werden.