Programm schließt nach Ausführen
-
Wait() sollte das Schließen eigentlich verhindern.
Benutze Dec-C++ 4.9.9.2Code:
#include <iostream> using namespace std; void wait () { cin.clear(); cin.ignore(cin.rdbuf()->in_avail()); cin.get(); } int main() { int iDim; cout << "Dimension der Matrix?" << endl; cin >> iDim; //Matrix allokieren int **aMatrix = new int* [iDim]; for (int i=0; i < iDim; i++) { aMatrix[i] = new int [iDim]; } for (int i=0; i < iDim; i++) { for (int j=0; i < iDim; j++) { aMatrix[i][j] = j+1; cout << aMatrix[i][j] << " "; } cout << "\n"; } //Speicher freigeben for (int i=0; i < iDim; i++) { delete [] aMatrix[i]; } delete [] aMatrix; wait(); return 0; }
-
Diotor schrieb:
Wait() sollte das Schließen eigentlich verhindern.
...Danke für die Information.
Simon
-
Dieser Thread wurde von Moderator/in Martin Richter aus dem Forum MFC (Visual C++) in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Wow! C++-Code, formatiert als C++/CLI, und das im MFC-Forum. Nicht schlecht...
Diotor schrieb:
Wait() sollte das Schließen eigentlich verhindern.
...Tut es auch. Du hast in dieser Zeile einen Fehler, der das Programm zum Absturz bringt:
for (int j=0; i < iDim; j++)
(Tipp: 'i' und 'j' sehen sehr ähnlich aus )
Wenn man diesen behebt, verhält sich das Programm wie gewünscht (und hält auch am Ende an).
-
Schonmal danke, das Programm hält aber trotzdem nicht an
-
nutz den debugger
-
Hm, probier mal Folgendes:
void wait() { while((c=getchar())!=EOF && c!='\n'); getchar(); }
Oder noch besser: prober mal 'nen anderen Compiler!
-
Das Problem ist, dass der Codeausschnitt nicht zuverlässig funktioniert (uns es laut Standard wohl auch nicht muss). Nimm stattdessen folgendes:
void wait () { cin.clear(); cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); cin.get(); }
Leider verhallen meine Rufe, die FAQ zu korrigieren, seit Jahren ergebnislos.
EDIT: size_t -> std::streamsize
-
Danke jetzt funktionuert es