班级没有会员"班级"

Ale*_*x G 1 c++ constructor

我正在尝试创建一个名为的类Drone,并有两个文件,Drone.hDrone.cpp.

Drone.h

class Drone {
protected:
    void foo();
};
Run Code Online (Sandbox Code Playgroud)

Drone.cpp

#include "Drone.h"

Drone::Drone()  // <---ERROR
{
}

void Drone::foo()
{
}
Run Code Online (Sandbox Code Playgroud)

我收到错误:

"班级'无人机'没有成员无人机."

当我将鼠标悬停在无人机上时,在工具提示中.在编译器中,它给出了错误:

错误C2600:'Drone :: Drone':无法定义编译器生成的特殊成员函数(必须先在类中声明)

为什么是这样?我所要做的就是为Drone制作一个构造函数.

Sho*_*hoe 7

您尚未在头文件中显式声明默认构造函数:

class Drone {
protected:
    void foo();
public:
    Drone(); // <----
};
Run Code Online (Sandbox Code Playgroud)

必须先声明每个成员函数(包括构造函数和运算符),然后才能指定定义.