I have something like:
struct A { ... }; struct B { ... }; struct C { ... }; class MyEnum { public: enum Value { a, b, c; } } template
Why don't you just make a static member variable of type enum and add it to your structs?
struct A { //Stuff static MyEnum enumType; // Don't forget to assign a value in cpp };
Than you can just do:
MyEnum e = StructA::enumType;
Or do you really want to use templates?