Я хочу сделать это:
template <enum Type>
class Message {
private:
Type m_type
};
enum StdInMessages { PrintHello, Echo, ... };
class StdInMsg : Message<StdInMessages>
{ ... }
enum NetworkMessages { DoSomethingElse, Shutdown ... };
class NetworkMsg : Message<NetworkMessages>
{ ... }
Конечно, фактические сообщения немного отличаются
Почему это не работает?
template <enum T> class ATemplate {};
Iполучить эту ошибку
error: use of enum ‘T’ without previous declaration