我的编译器是 VC++ 2013 和 2013 Novmember CTP。
以下代码使VC++编译器崩溃并报错:
“ fatal error C1001:编译器发生内部错误。”
template<class T>
class A
{
operator T*() const
{
return p;
}
T* p;
};
template<class T>
class B : public A<T>
{
using A::operator T*;
};
int main()
{}
最佳答案
VC++ 编译器中可能存在错误,但您的代码仍然不正确:g++ 报告 error: 'template<class T> class A' used without template parameters
(link)。 (在不同的编译器上测试代码通常是个好主意。)
从第 15 行更改
using A::operator T*;
到
using A<T>::operator T*;
(即将“A
”更改为“A<T>
”)。
关于c++ - 编译一段最简单的代码时,VC++ 编译器崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20283565/