Anfängerproblem bei dynamischen Arrays

AmonRamses

Grünschnabel

Ich habe ein Problem mit dyn. Arrays in meinem Programm. Beim Ausführen meldet der Debugger immer:
"Unbehandelte Ausnahme in blablabla.exe 0x00000005: Access Violation.".
Habe erst vor kurzem mit C++ angefangen.....

relevanter Code:

Code:
int z = 0;
short n = 0;
double *pxwerte = 0;
.......
cin >> n;
........
pxwerte = new double[n];

for(;z!=n; )
{
       cin >> pxwerte[z];<<Nach dem Eingeben tritt der Fehler auf
       z++;
}

plz help, danke im Voraus.
 
Zuletzt bearbeitet:
Hi.

Also ich kann keinen Fehler entdecken - bei mir funktioniert dein Programm tadellos.

Ich weiß ja nicht welchen Wert du für n eingibst. Tritt der Fehler denn gleich bei der ersten Eingabe auf? (mach evtl. mal einen Screenshot von einer Beispielsitzung)

Desweiteren vergiss nicht den angeforderten Speicher für pxwerte wieder mit delete[] freizugeben. Außerdem solltest du immer noch überprüfen ob die Eingabe überhaupt erfolgreich war:
C++:
if (! cin >> n) {
  cerr << "Eingabefehler!" << endl;
  return 1;
}

Und bitte verwende für Code den du postest doch die entsprechenden Code Tags: [c]...[/c] für C bzw. [code=cpp]...[/code] für C++ Code etc.

Gruß
 
Einfach den Debugger mal richtig einsetzen:

Durchsteppen, und A) vor dem new prüfen, ob n auch wirklich den eingegebenen Wert hat und B) vor der Eingabe prüfen, ob z wirklich bei 0 liegt.
Möglicherweise spielt dir cin einen Streich.
 

Neue Beiträge

Zurück