class FooInterface {
virtual void toggle() = 0;
};
template <class TYPE, class CONFIG>
class Foo : public FooInterface {
virtual void toggle();
TYPE value_;
};
template <>
void Foo<bool, class CONFIG>::toggle() {
if (CONFIG::canToggle())
value_ = !value_;
}
struct MyConfig {
static bool canToggle() {
return false;
}
};
int main() {
Foo<bool, MyConfig> foo;
}
这是我正在处理的准确近似值。我基本上想要有一个专门的方法来处理类型,同时保持通用的CONFIG。因此,举例来说,我可能有十几个不同的美孚::切换()方法与专门的代码处理特定类型,但什么是从CONFIG使用将是在所有的这些方法是一致的。部分模板专业化问题
问题是以前的代码不能编译,以及几种不同的组合,我希望有一些帮助找到不同的解决方案或一些解决方法,使当前的工作。
编辑:我应该注意到,以前的代码没有CONFIG模板参数。
如果你专门一个参数,你还是应该在'模板<类CONFIG>'另外一个。 – 2011-03-15 21:38:46