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
}
バグですか?