Kein ESC auf Konsole?
-
Hi,
Dumme Frage, aber warum wird bei diesem Code niemals der Teil ausgeführt, wenn ESC gedrückt wird?bool done = false; char myKey; while (done == false) { myKey = getch(); if (myKey <= 0) //Wenn Sondertaste { myKey = getch(); switch (myKey) { case 72: std :: cout << "Pfeil Hoch!" << std :: endl; break; case 80: std :: cout << "Pfeil Unten!" << std :: endl; break; } } else if (myKey == 27) done == true; } std :: cout << "Programm is ENDE :D"; getch();Liegt das an der Char<>Integer umwandlung? Eigentlich ja nicht, da die case- Anweisung ja geht..
-
OK, ...hab den Fehler und küre mich mal ganz dreißt zum dümmsten Esel der C++Welt...
In Zeile 20 o.O
-
Dabei passiert es meistens umgekehrt

BTW: Welchen Compiler verwendest du, dass er das nicht als Warnung ausgibt?
MfG SideWinder
-
CodeBlocks mir MinGW
Aber wär das nicht eigentlich dumm dabei ne Warnung auszugeben? Dann wäre ja jede if-Anweisung etc... eine potentielle Gefahr
-
Pille456 schrieb:
CodeBlocks mir MinGW
Aber wär das nicht eigentlich dumm dabei ne Warnung auszugeben? Dann wäre ja jede if-Anweisung etc... eine potentielle GefahrNicht das if ist das Problem. Ein "a == b" ohne Zuweisung oder Verwendung als Bedingung klingt doch spanisch

Ordentlichen Compiler findest du auf http://msdn.microsoft.com
Dann sieht das auch so aus:Kompilieren... main.cpp D:\..\main.cpp(16) : warning C4553: '==': Operator hat keine Auswirkungen; ist '=' beabsichtigt?und du ersparst dir viel Ärger.
MfG SideWinder