C++ में switch-case में बिना curly braces के वेरिएबल क्यों declare नहीं कर सकते?
सभी को नमस्ते! मैंने अभी Python के बाद C++ सीखना शुरू किया है, और मुझे एक अजीब समस्या आई है। जब मैं सामान्य switch-case लिखता हूँ, तो compiler case के अंदर वेरिएबल declare करने पर error देता है। यहाँ एक उदाहरण कोड है जो मेरे लिए काम नहीं करता:
```cpp
#include
int main() {
int value = 2;
switch (value) {
case 1:
int x = 10; // Error!
std::cout << "Case 1: " << x << std::endl;
break;
case 2:
int y = 20; // Error भी!
std::cout << "Case 2: " << y << std::endl;
break;
default:
std::cout << "Default" << std::endl;
}
return 0;
}
```
Compiler (GCC) "jump to case label" और "crosses initialization of variable" जैसी errors देता है। मैं समझता हूँ कि switch-case कोई function या code block नहीं है, लेकिन case के अंदर वेरिएबल declare क्यों नहीं कर सकते? Python या JavaScript में यह सामान्य रूप से काम करता है। मुझे सभी वेरिएबल्स को switch से पहले declare करना पड़ता है, जो करता है...