Использование decltype с виртуальными указателями на функции-члены

Можно ли использовать decltypeс виртуальными указателями на функции-члены?

Следующее генерирует внутреннюю ошибку (C1001 )с VS2012.

struct C
{
    virtual void Foo() {}

    typedef decltype(&C::Foo) type;   //pointer
}

Но это прекрасно компилируется:

struct C
{
    virtual void Foo() {}

    typedef decltype(C::Foo) type;   //not pointer
}

Это ошибка?

6
задан Nubcase 5 July 2012 в 15:27
поделиться