Warum kann man in C++ switch-case keine Variablen ohne geschweifte Klammern deklarieren?
Hallo zusammen! Ich habe gerade angefangen, C++ nach Python zu lernen, und bin auf ein seltsames Problem gestoßen. Wenn ich einen normalen switch-case schreibe, beschwert sich der Compiler über die Deklaration von Variablen innerhalb von case. Hier ist ein Beispielcode, der bei mir nicht funktioniert:
```cpp
#include
int main() {
int value = 2;
switch (value) {
case 1:
int x = 10; // Fehler!
std::cout << "Case 1: " << x << std::endl;
break;
case 2:
int y = 20; // Auch ein Fehler!
std::cout << "Case 2: " << y << std::endl;
break;
default:
std::cout << "Default" << std::endl;
}
return 0;
}
```
Der Compiler (GCC) gibt Fehler wie "jump to case label" und "crosses initialization of variable" aus. Ich verstehe, dass switch