c++ - Klassen array-Initialisierung
also ich habe diese Klasse in der header -
class C{
int b [2];
init();
}
und in C.cpp ich habe
C::init(){
bK [2] = {3,7};
}
wobei ich versuchen, initialisieren der Klasse die variable b ist ein array
dann aber der compiler gibt den Fehler zurück expected ; before { token
und expected primary expression before { token
was habe ich falsch gemacht und wie kann ich richtig initialisieren von array-Klasse Variablen?
- Wie ist diese anders als Ihre andere Frage? stackoverflow.com/questions/5732798/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ende der Klassendefinition mit einem
;
.Können Sie auch initialisieren Sie ein array wie, die Weg von der Deklaration in standard-C++.
Können Sie nicht tun dies in pre-C++0x, C++.
Nicht erlaubt, von der Standard (2003). Arrays deklariert in der Klasse nicht initialisiert werden.
Was Sie tun können ist dieses:
In C++0x, können Sie dies tun (wenn Sie wählen, um
std::vector
):Siehe online-demo : http://www.ideone.com/NN5aT
Sollten Sie erklären, Sie Klassenmember entweder als public, private oder protected. Und auch Sie müssen einen Rückgabetyp für Sie init(). Möglicherweise müssen auch ein Semikolon am Ende der Klassendefinition, die Sie nicht tun können, mit c++ - Klassen-Mitglieder.
Sollten Sie einen Konstruktor, anstatt Ihre init(). So dass Sie nicht haben, um call init() nach jeder Zeit, die Sie deklarieren Sie ein Objekt, es wird für Sie erledigt werden.
Edit: Nach einigen Tests, ich fand es war buggy. Dieser code oben hat keine Fehler in ihm. Wenn Sie wollen inline initialisieren eine ganze Reihe, es hat zu tun, in seiner Erklärung der Aussage.