2017-02-01 11 views
-4

と仮定私が持っている、私はA?Typedefing列挙型「メンバー」

+9

Aは、の名前ではありません。 typ e。 –

+3

^同じ理由で、 'typedef 23 a;'は動作しません。 – StoryTeller

+2

'Foo :: Bar'は列挙型です。 'Foo :: Bar :: A'は列挙型に割り当てることができる値です。 – user4581301

答えて

2
のための速記名を使用して行くだろうどのように私は「 foo.h"を含まない typedef Foo::Bar::A aコンパイルしますなぜ "foo.h"

namespace Foo{ 
    enum Bar { 
     A, 
     B 
    }; 
} 

で次のように定義?

typedefキーワードは、種類、実体のない他の種類のエイリアシングのために使用されているAはタイプではありません;それは価値だあなたはそれのために別名をしたい場合は、あなたがconstexpr Foo::Bar a = Foo::A;を行うことができ