实现派生类构造函数时出错:“没有重载函数的实例与指定类型匹配

丹尼尔·李

以下资源旨在创建抽象基类(SubsystemClass)和派生的最终类(DisplaySubsystemClass)。错误“没有重载函数“ DisplaySubsystemClass :: DisplaySubsystemClass的实例”与指定的类型匹配”时,派生类的构造函数的实现失败。我很困惑。

子系统类

#ifndef SUBSYSTEMCLASS_HPP
#define SUBSYSTEMCLASS_HPP

#include <memory>
#include "DriverClass.hpp"

class SubsystemClass 
{
protected:
    std::shared_ptr<DriverClass> _driver;
public:
    virtual ~SubsystemClass();
    enum DriverCatalog;
};

#endif

DisplaySubsystemClass.hpp

#ifndef DISPLAYSUBSYSTEMCLASS_HPP
#define DISPLAYSUBSYSTEMCLASS_HPP

#include <memory>
#include "../SubsystemClass.hpp"
#include "DisplayDriverClass.hpp"

class DisplaySubsystemClass final : public SubsystemClass
{
private:
    std::shared_ptr<DisplayDriverClass> _driver;
public:
    DisplaySubsystemClass(DisplaySubsystemClass::DriverCatalog driverCatalogItem);
    ~DisplaySubsystemClass();
    enum DriverCatalog {
        DISPLAY_DRIVER_CONSOLE,
        DISPLAY_DRIVER_CURSES,
        DISPLAY_DRIVER_SFML,
        DISPLAY_DRIVER_OPENGL
    };
};

#endif

DisplaySubsystemClass.cpp

#include <memory>

#include "DisplaySubsystemClass.hpp"
#include "SFMLDisplayDriverClass.hpp"
DisplaySubsystemClass::DisplaySubsystemClass(DisplaySubsystemClass::DriverCatalog driverCatalogItem)
{
}

DisplaySubsystemClass::~DisplaySubsystemClass()
{
}
来自莫斯科的弗拉德

枚举应在构造函数中用作参数类型之前声明。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

派生类中的重载构造函数

创建派生类构造函数时出错

没有构造函数的派生类的方法

从虚拟基础派生类,没有默认构造函数

具有签名匹配超类构造函数的Kotlin自动派生类构造函数

派生类的函数重载

即使派生类没有成员变量,我是否需要重新实现基类的所有构造函数?

如何从派生类实例调用父类重载函数?

从派生类调用重载的基本构造函数

C#根据参数类型实例化基础构造函数的派生类

用户定义的Fortran派生类型实例的构造函数

将派生类属性传递给Angular中的基类构造函数时出错

派生类(构造函数有参数)和基类(构造函数不带参数)之间没有可行的转换

从类创建派生类型,但省略构造函数(打字稿)

有没有办法在基类的函数中获取派生类的类型?

在派生类中重载了最终函数

使用CRTP时如何调用派生类的构造函数?

尝试实例化模板类的对象时出现“没有匹配的构造函数”错误

复制派生类的构造函数,而无需测试所有类型?

使用Java Reflection,如何获取指定构造函数args派生类的类的构造函数?

没有实现纯虚函数的派生类的编译不会给出任何错误

从派生类构造函数调用基类构造函数

C ++-派生类构造函数的行为

移动派生类的构造函数

从派生类调用构造函数

python派生类构造函数

派生类的构造函数可以比其基类的构造函数具有更多的参数吗?

在基类构造函数中使用抽象类作为参数,以在派生类中具有更多特定类型

如何在TypeScript的派生类中进行构造函数重载?