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
}
它是一个错误吗?