В моем текущем коде есть ошибка, с которой я бился головой пару дней. Я опубликую краткую версию кода ниже (не мой настоящий код, но он все еще компилируется).
#include <iostream>
using namespace std;
int main()
{
int x = 7;
switch(x)
{
case 1:
{
case 2:
cout << "hi";
}
}
}
Мне нравится иногда вводить более узкие рамки в мои случаи переключения, чтобы имена локальных переменных не мешали тем, которые я использовал ранее. По-видимому, однажды мне позвонили или что-то ответили, и я не закончил писать заявление по делу, как мне хотелось, но позже я был уверен, что у меня получилось. Случай 2 должен был быть во вложенном переключателе, а не как часть исходного внешнего переключателя (для тех, кто интересуется, я использую именованные константы в моем коде, а не просто магические числа). На g ++ я не получил предупреждение или ошибку при компиляции без каких-либо опций.
Мой вопрос: зачем разрешать перепрыжки между коммутаторами? Какую цель он служит?