标签: c++
假设我在"foo.h"
"foo.h"
namespace Foo{ enum Bar { A, B }; }
当我加入“typedef Foo::Bar::A a时,为什么不会编译foo.h"?我如何使用A的简写名称?
typedef Foo::Bar::A a
foo.h"
答案 0 :(得分:2)
typedef关键字仅用于别名类型,而不用于其他类型的实体。 A不是一种类型;这是一个价值。如果您想要别名,可以constexpr Foo::Bar a = Foo::A;。
typedef
A
constexpr Foo::Bar a = Foo::A;