我正在尝试从Base派生出:
class Base
{
public:
Base() {};
};
template <class T>
class Derived : public Base
{
public:
Derived::Derived()
{
}
};这给了我以下错误:
错误C3254:“派生”:类包含显式覆盖“{ctor}”,但不从包含函数声明的接口派生 注意:参见对正在编译的类模板实例化‘派生’的引用。 错误C3244:“派生::派生(无效)”:此方法是由'Unknown>‘而不是由'Base’引入的
我对模板完全陌生,我错过了哪些简单的步骤?这似乎是一件非常基本的事情。
发布于 2019-06-27 18:37:17
您需要省略“派生::”前缀。您将只使用它引用继承的符号,或注入派生类的命名空间。所以这里唯一有意义的前缀是"Base::“。它与模板无关。
class Base
{
public:
Base() {};
};
template <class T>
class Derived : public Base
{
public:
Derived() {}
};看到一个工作的现场演示。
https://stackoverflow.com/questions/56796911
复制相似问题