C++ - Use enum from template class without template parameter

Viewed 3951
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

This won't compile because

class SomeClass used without template parameters

Is there no way / workaround to use it without template parameter, kinda make that enum global for that class, so it doesn't depend on the parameter.

It's not that I can't type them but they can be long and complicated, the code will be harder to read and I can't use something like auto here. (I'm new to templates so sorry if this question is lame.)

2 Answers
using MySomeClass = SomeClass<int>;

MySomeClass::SomeEnum foo = MySomeClass::SomeEnum::SOME_FLAG;
Related