类没有成员"Class"

Class has no member "Class"

本文关键字:Class 成员      更新时间:2023-10-16

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

Drone.h

class Drone {
protected:
    void foo();
};

Drone.cpp

#include "Drone.h"
Drone::Drone()  // <---ERROR
{
}
void Drone::foo()
{
}

我得到错误:

"类'Drone'没有成员Drone."

在工具提示,当我悬停在无人机。在编译器中,它给出了错误:

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

为什么会这样?我所要做的就是为Drone创建一个构造函数。

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

class Drone {
protected:
    void foo();
public:
    Drone(); // <----
};

每个成员函数,包括构造函数和操作符,必须在指定定义之前声明。

您还需要在头文件中声明构造函数:

class Drone {
public:
    Drone();
protected:
    void foo();
};

所有成员,包括构造函数,都需要在类定义中声明。

创建对象后第一个调用的函数是同名的constructor

"Class 'Drone' has no member Drone."
        ^^^^^==>class        ^^^^^===>constructor

在头文件中声明

class Drone {
public:
    Drone(); //decleared
protected:
    void foo();
};