Avatar ·

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