Array erzeugen zur Laufzeit
-
Hallo,
(zuerst ich habe versuch die Forum-suche zu verwenden geht irgentwie net!)
ich habe da eine Problem ich möchte was berechnen und dafür muss der benutzer des Programms seine arraygröße zur Laufzeit eingeben können:
der compiler gibt mir einen fehler wenn ich
int main() { int anzahl; cin >> anzahl; float a[anzahl]; return 0; }kompilieren möchte . Der möchte einen konstanten ausdruck.
Kann man die arraygröße irgentwie doch zur Laufzeit angeben und damit das array erzeugen??
gruß
VG
-
Ja, aber nur dynamisch:
float *a = new float [anzahl]; ... delete [] a;Wichtig ist dabei aber, dass du unbedingt
delete []aufrufst, wenn du das Array nicht mehr brauchst, sonst bleibt es im Speicher.
-
danke : )
gruß
VGans
-
Und wenn du dir die potentiellen Probleme mit dynamischen Arrays sparen möchtest, solltest du dir mal std::vector ansehen.