【发布时间】:2013-02-22 10:35:51
【问题描述】:
我有一个类,它有一个公共的模板化方法。 这个类有两种行为策略,我想通过类模板传递。
template<class Strategy>
class SomeClass {
public:
template<class B>
void ProcessType(){}
};
// And do something like this:
SomeClass<Strategy1> sc();
sc.ProcessType<SomeClassType>();
sc.ProcessType<SomeClassType2>();
SomeClass<Strategy2> sc2();
sc2.ProcessType<SomeClassType>();
sc2.ProcessType<SomeClassType2>();
但是这段代码无法编译。我需要保持这样的用法(仅通过策略进行操作)。
【问题讨论】:
标签: c++ templates metaprogramming template-classes