次のような外部 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;
};
bar の初期化方法を確認するために対応する cpp ファイルにアクセスすることはできませんがmStrings
、これは型の特性に関連していると思います。
foo.cpp
を正しく初期化するための構文はどのようになりますMyEnumType::mStrings
か?