Hi ich muss sowas programmierne das geht aber nicht wie kann man das anders lösen? int messwerte; cin>>messwerte; double messwetekommplett[messwerte*12]; mfg
Versuchs mal mit double * messwertekomplett = new double[messwerte*12]; aber nicht vergessen, es am Ende wieder mit delete [] messwertekomplett zu löschen ;-)
wenn du jetzt noch die Fehlermeldung postest wärs nicht schlecht ;-) hast du auch folgendes drin: #include <iostream> using namespace std; ?
in reinem C würde man schreiben
1 | #include <malloc.h> |
2 | ...
|
3 | double * messwertekomplett; |
4 | ...
|
5 | messwertekomplett = (double *) malloc(12 * messwerte * sizeof(double)); |
6 | ...
|
7 | free(messwertekomplett ); |
Bei c++ bin ich mir nicht sicher, ob man die Grösse von Arrays als Ausdruck angeben darf ...
Hab mal meinen Ansatz durch den Compiler gejagt und bei mir hatte es funktioniert :-) Und ja, man darf in c++ die Größe des Array als Ausdruck angeben.
>Und ja, man darf in c++ die Größe des Array als Ausdruck angeben.
Als Ausdruck, der vom Compiler bei der Übersetzung des Programms
berechnet wird (das ist eh klar), oder als Ausdruck, der erst zur
Laufzeit berechnet werden kann?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.