Array von einem struct anlegen
-
hi
ich hab da ein problem ...
ich habe ein struct:
struct t_Objects{ int objid; CString objname; CString objvalue; RECT pos; }objects;
und davon möchte ich nun ein array anlegen
und ich dachte das geht so:t_Objects obj[] = new t_Objects[anz_obj];
wenn ich das aber nun versuche bekomm ich die fehlermeldung:
error C2538: new : Angabe der Initialisierung für Arrays nicht moeglich
wie kann ich nun also von dem struct ein array anlegen ?
mfg LT
-
t_Objects * obj = new t_Objects[anz_obj];
-
*edit* geht doch
-
Vielleicht noch ein bissel mehr Text:
void foo() { int x[4]; // legt ein "automatisches" Array an // x ist ein int[4] // Die 4 muss ein eine Compilezeit-Konstante sein int y[] = {1,2,3,4}; // legt ein "automatisches" Array an // y ist auch ein int[4] int* z = new int[4]; // legt ein "dynamisches" Array an. new // liefert einen Zeiger auf das erste Element // Statt der 4 darf man auch eine Variable // einsetzten, deren Wert erst zur Laufzeit // bekannt ist. delete[] z; // Löschen mit dem richtigen Operator // nicht vergessen! std::vector<int> v (4); // Dynamisches "Array" mit 4 Elementen anlegen, // welches sich selbst verwaltet v[0] = 23; v[1] = 42; }