3
struct Foo
{
typedef Foo FooInner;
};
struct Bar:Foo
{
using Foo::FooInner; // <-
};
//編譯:VS快遞2013更新1 - 編譯錯誤C2886C2886類/結構使用的typedef類自繼承
//編譯器:GCC 4.7.2 - 成功
//它是錯誤?
struct Foo
{
typedef Foo FooInner;
};
struct Bar:Foo
{
using Foo::FooInner; // <-
};
//編譯:VS快遞2013更新1 - 編譯錯誤C2886C2886類/結構使用的typedef類自繼承
//編譯器:GCC 4.7.2 - 成功
//它是錯誤?
從MSDN Article它是錯誤的VS 2013
「‘類::識別符’:符號不能在一個成員using聲明 A,使用聲明使用一個符號,用於諸如命名空間名稱。使用聲明用於聲明基類成員「
Fyi,叮噹3.3也沒有問題。 – WhozCraig