为什么这段代码会导致VC++编译器崩溃?

xml*_*lmx 10 c++ visual-studio-2010 c++11

我正在使用以下编译器:

Microsoft Visual C++ 2010

以下代码在编译时崩溃:

template<class T_> 
void crasher(T_ a, decltype(*a)* dummy = 0){}

int main()
{
    crasher(0);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

decltype(*a)*用于实施T_是一个指针样型-如char*,int*,和shared_ptr<int>.

为什么会崩溃?这是一个已知的错误?

spr*_*aff 0

该模板对于实例化无效,T_=int因为前缀operator*是替换失败,因此它应该以某种方式失败,尽管当然不会崩溃。