statisches array in klasse
-
hallo, wie kann ich folgendes array füllen?
class test { public: string myAr[8]; };im konstruktor?
garnicht?
-
Doch, z.B. im Konstruktor. Aber statisch ist das Array nicht!

-
und wie im konstruktor?
hier bekomm ich fehler:
.hclass TForm1 : public TForm { __published: // Von der IDE verwaltete Komponenten TStringGrid *StringGrid1; TMainMenu *MainMenu1; TMenuItem *Datei1; TMenuItem *ffnen1; TOpenDialog *OpenDialog1; TMemo *Memo1; TButton *Button1; void __fastcall ffnen1Click(TObject *Sender); private: // Anwender-Deklarationen public: // Anwender-Deklarationen static const String stopFlag[8]; __fastcall TForm1(TComponent* Owner); };.cpp
[/cpp]
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{stopFlag[8] = {"511","512","513","515","516","517","518","519"};
}
[/cpp]ist zwar bcb, dürfte doch aber nix ausmachen oder?
-
achso, fehler ist Ausdruckssyntax
-
Da es static const deklariert ist, musst du das Datenelement in der Quellcodedatei ungefähr so deklarieren:
const String TForm1::stopFlag[8] = {"511","512","513","515","516","517","518","519"};sollte funzen (könnte sein, dass du die Arraygröße nicht mit angeben musst. Habs nicht so oft verwendet :D)
-
ja das funzt, ist klar!
wenn ich aber das static weglasse, und es wie oben gezeigt im konstruktor initialisieren will, bekomm ich den fehler! Wiesoo?
bzw wie geht es richtig??
-
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { stopFlag[0] = "511"; stopFlag[1] = "512"; stopFlag[2] = "513"; stopFlag[3] = "515"; stopFlag[4] = "516"; stopFlag[5] = "517"; stopFlag[6] = "518"; stopFlag[7] = "519"; }