Объявление переменных внутри C switch / case

Ну, на самом деле это не вопрос ..

Я только изредка обнаружил, что там ' s интересный способ объявления локальных переменных внутри блока switch / case. Вместо того, чтобы использовать фигурные скобки внутри каждого блока case, вы можете написать:

switch (action) {
  int res;
  int value;
case ACTION_OPEN:
  res = open(...);
  ...
  break;
case  ...
}

Итак, мне просто интересно, какие компиляторы C / C ++, кроме gcc, поддерживают эту конструкцию? Похоже на обычный провал. Любые комментарии к этой конструкции приветствуются!

7
задан James McNellis 25 November 2010 в 16:58
поделиться