Интересно, почему следующий код C ++ принят компилятором Microsoft cl.exe из Visual Studio 2012?
int x;
struct A {}
decltype(x) y;
Это выглядит как очевидная ошибка, но приведенный выше код компилируется. Обратите внимание, что следующий код корректно отклонен:
int x;
struct A {}
int y;
Потому что есть ошибка. Поднимите это на Microsoft Connect и перейдите к чему-то еще!