-4
と仮定私が持っている、私はA?Typedefing列挙型「メンバー」
と仮定私が持っている、私はA?Typedefing列挙型「メンバー」
foo.h"
を含まない
typedef Foo::Bar::A a
コンパイルしますなぜ
"foo.h"
namespace Foo{
enum Bar {
A,
B
};
}
で次のように定義?
typedef
キーワードは、種類、実体のない他の種類のエイリアシングのために使用されているA
はタイプではありません;それは価値だあなたはそれのために別名をしたい場合は、あなたがconstexpr Foo::Bar a = Foo::A;
を行うことができ
Aは、の名前ではありません。 typ e。 –
^同じ理由で、 'typedef 23 a;'は動作しません。 – StoryTeller
'Foo :: Bar'は列挙型です。 'Foo :: Bar :: A'は列挙型に割り当てることができる値です。 – user4581301