【发布时间】:2012-07-05 15:27:42
【问题描述】:
decltype 与虚成员函数指针一起使用是否合法?
以下内容会在 VS2012 中生成内部错误 (C1001)。
struct C
{
virtual void Foo() {}
typedef decltype(&C::Foo) type; //pointer
}
但这编译得很好:
struct C
{
virtual void Foo() {}
typedef decltype(C::Foo) type; //not pointer
}
这是一个错误吗?
【问题讨论】:
-
如果它是“非法的”,它会生成错误消息,而不是内部错误。您显然在编译器中发现了一个错误。
-
@AndreyT:+1,我要补充一点:即使它是非法的,也不应该导致内部错误。
标签: c++ visual-studio visual-c++ c++11