我在外部 sdk 中遇到了一个标题,如下所示:
// external.h
//
template <class T> class MyBaseEnum
{
public:
/** String list. */
static const char *mStrings[];
//! Constructor.
inline MyBaseEnum(){}
//! Destructor.
inline ~MyBaseEnum()
{
}
};
我已经看到这个类在另一个标头中的同一个 sdk 中使用,如下所示:
// foo.h
//
class Foo
{
enum MyEnum
{
A = 0,
B,
C
};
typedef MyBaseEnum< MyEnum > MyEnumType;
MyEnumType bar;
};
我无权访问相应的 cpp 文件来查看如何mStrings
为 bar 初始化,但我认为这与类型特征有关。
foo.cpp
正确初始化的语法是什么样的MyEnumType::mStrings
?