[英]Error Implementing Derived Class Constructor: "No Instance of Overloaded Function Matches the Specified Type
The following source aims to create an abstract base class (SubsystemClass) and a derived final class (DisplaySubsystemClass). 以下源旨在创建一个抽象基类(SubsystemClass)和一个派生的最终类(DisplaySubsystemClass)。 Implementation of the constructor for the derived class fails on error "no instance of overloaded function "DisplaySubsystemClass::DisplaySubsystemClass" matches the specified type".
派生类的构造函数的实现失败,错误“没有重载函数的实例”DisplaySubsystemClass :: DisplaySubsystemClass“匹配指定的类型”。 I am baffled.
我很困惑。
SubsystemClass.hpp SubsystemClass.hpp
#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 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 DisplaySubsystemClass.cpp
#include <memory>
#include "DisplaySubsystemClass.hpp"
#include "SFMLDisplayDriverClass.hpp"
DisplaySubsystemClass::DisplaySubsystemClass(DisplaySubsystemClass::DriverCatalog driverCatalogItem)
{
}
DisplaySubsystemClass::~DisplaySubsystemClass()
{
}
枚举应在构造函数中用作参数类型之前声明。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.