在尝试实现这样的事情时,我得到了“非模板的模板定义”编译错误:
class BaseFoo
{
BaseFoo();
~BaseFoo();
virtual void method();
};
template <class A>
class Foo : public BaseFoo
{
Foo();
~Foo();
virtual void method();
};
如果先前在模板类中定义了一个不是模板化类的基类,是否可以重新定义模板类中的方法?
答案 0 :(得分:3)
显然这是一个最终在gcc 4.2中修复的错误。请参阅http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27211。
答案 1 :(得分:0)
是的,这种事情是完全合法的。您提供的代码在gcc 4.2.1中编译良好。
这是您收到错误的确切代码吗?你使用什么编译器?