Konstater Array als Memberfunktion
-
Hi!
Ich versuche gerade einen Array als konstante Memberfunktion zu deklarieren und zu füllen, aber das will nicht so ganz
Eigentlich sollte das so aussehen:class bla { const char myArray[5] = {'1','2','3','4','5'}; bla(); } //bla.cpp bla::bla() { machwas(); }Aber das geht ja bekanntlich nach C++-Standard nicht. Ich weiss, dass ich den Array direkt nach dem Konstruktor-Kopf aufrufen muss, nur bekomme ich keinen gültigen Aufruf für Arrays hin

Könnte mir wer zeigen wie der Aufruf korrekt aussehen müsste?
Gruß
Pille
-
So?
class bla { static const char myArray[]; }; const char bla::myArray[5] = {'1','2','3','4','5'};
-
Und wenns tatsächlich dynamisch initialisiert werden soll:
class bla { const boost::array<char,5> blarray; bla(char c1, char c2, cahr c3, cahr c4, cahr c5) : blarray(boost::assign::list_of(c1),c2,c3,c4,c5) { } };
-
pumuckl schrieb:
Und wenns tatsächlich dynamisch initialisiert werden soll:
class bla { const boost::array<char,5> blarray; bla(char c1, char c2, cahr c3, cahr c4, cahr c5) : blarray(boost::assign::list_of(c1),c2,c3,c4,c5) { } };Sowas in der Richtung hatte ich versucht, nur eben mit einem normalen Array und nicht mit boost::array.
Naja David_pb's Version klappt - danke!