我有一个简单的问题,但我真的不明白为什么。我想你可以帮助我。
我有一个模板基类:
template <class T> class Base
{
public:
T foo(T t);
protected:
Base();
~Base();
};
我想推导出这个模板的专业化:
class Derived : public Base<std::string>
{
public:
Derived();
virtual ~Derived();
};
所有函数都在相应的.cpp中定义(它们都是空的,除了刚才返回t的foo)
我选择了std :: string作为例子。但是这个简单的代码无法编译。 我有错误: “无限期引用”Base :: Base()“ “无限期地引用”Base :: ~Base()“
我似乎在互联网上关注示例,但它不起作用......我真的不明白这一点,它必须是显而易见的!
你能帮帮我吗? :)(PS:对不起,如果我的英语不好)