template<typename T> class SomeClass{
public:
enum SomeEnum{ SOME_FLAG};
};
SomeClass::SomeEnum some_enum = SomeClass::SomeEnum::SOME_FLAG; //NO
SomeClass<int>::SomeEnum some_enum = SomeClass::SomeEnum::SOME_FLAG; //NO
SomeClass<int>::SomeEnum some_enum = SomeClass<int>::SomeEnum::SOME_FLAG; //YES
这段代码编译不通过,原因是
使用了没有模板参数的 SomeClass 类
有没有什么方法或解决方案可以在不使用模板参数的情况下使用它,让枚举类成为该类的全局变量,使其不依赖于参数。
并不是我不能手动输入参数,但它们可能会很长、复杂,代码会更难读,并且我不能在这里使用 auto 等工具。(我对模板还不太熟悉,如果这个问题很幼稚请见谅。)