Ich schrieb ein einfaches Beispiel, um die Probleme zu lösen, denen ich beim Schreiben seines Programms gegenüberstand.Schalter-Fehler | der Wert von ist nicht in einem konstanten Ausdruck verwendbar
Während der Programmausführung bekomme ich Werte von Eingang1 und Eingang2, wenn ich Werte von Funktionen zurückgebe, die sich dann nie ändern. Etwas später nach verschiedenen Berechnungen im Ablauf des Programms bekomme ich ein Ergebnis, das auch nicht mehr änderbar ist.
Ich versuche, sie mit switch-case zu vergleichen, aber ich bekomme einen Fehler "der Wert von 'input1' ist nicht in einem konstanten Ausdruck verwendbar".
#include <iostream>
using namespace std;
char getChar()
{
char c;
cin >> c;
return c;
}
int main()
{
// it doesn't work
const char input1 = getChar();
const char input2 = getChar();
// it it works
//const char input1 = 'R';
//const char input2 = 'X';
char result = getChar();
switch(result)
{
case input1:
cout << "input1" << endl;
break;
case input2:
cout << "input2" << endl;
break;
}
return 0;
}
Danke für die Erklärung! Ich dachte, dass die Verwendung von Wenn-sonst eine gute Option wäre. –