[gelöst]valarray als member variable in Klasse
-
Hallo,
ich habe ein Problem damit einen valarray in einer Klasse als Klassenvariable zu deklarieren.
Im folgenden steht der Code, der eine Idee davon geben soll, was ich haben möchte:#include<valarray> #include<iostream> using namespace std; class testclass{ public: valarray<int> testarray( 4 ); testclass(){ } }; int main ( void ){ testclass Class; Class.testarray[2] = 3; }Dieser Code kompiliert noch nicht einmal.
Fehler:test.cpp:7: error: expected identifier before numeric constant test.cpp:7: error: expected ‘,’ or ‘...’ before numeric constant test.cpp: In function ‘int main()’: test.cpp:13: error: invalid types ‘<unresolved overloaded function type>[int]’ for array subscriptPrinzipiell würde ich die Länge des arrays gerne im Konstruktor bestimmen.
Wenn mir jemand weiterhelfen könnte wäre das Klasse.
Gruß
J.Bourne
-
valarray<int> testarray( 4 );Das ist kein gültiges C++. Innerhalb der Klassendefinition dürfen Variablen nur deklariert werden.
Zur Initialisierung musst du den Konstruktor benutzen, genauer gesagt dessen Initialisierungsliste.
testclass() : testarray(4) {}
-
Vielen Dank für den Hinweis!
Es funktioniert nun!
Gruß
J.Bourne