假设我想针对不同类型的消息拥有不同的处理程序,每个消息都由int
标识。我想将每个处理程序定义为模板方法的实例化。模板处理程序方法
的想法是这样的:
handlers.h
enum Handler {
MESSAGE1,
MESSAGE2
};
template<MESSAGE1>
void handle() {
}
的main.cpp
int main()
{
handle<Handler::MESSAGE>();
}
当然,这段代码不能编译,因为MESSAGE1
不是一个类型。 那么,我怎么能为每条消息创建一个不同的类型?此外,我想保持这些类型的使用尽可能有意义(因此使用枚举)。