显然,cl.exe编译器接受了错误的C++代码

bro*_*kkk 0 c++ cl

我想知道为什么Visual Studio 2012中的Microsoft cl.exe编译器接受以下C++代码?

int x;
struct A {}
decltype(x) y;
Run Code Online (Sandbox Code Playgroud)

这看起来像是一个明显的错误,但上面的代码是可编译的.但请注意,以下代码被正确拒绝:

int x;
struct A {}
int y;
Run Code Online (Sandbox Code Playgroud)

Lig*_*ica 5

因为有一个bug.在Microsoft Connect上提升它,继续前进!