类没有成员"Class"
Class has no member "Class"
我正在尝试创建一个名为Drone
的类,并有两个文件,Drone.h
和Drone.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();
};
相关文章:
- "Class1"类"Class2"对象作为私有数据成员。如何通过"Class 2"函数引用"Class1"对象?
- 错误:'class std::unique_ptr<std::set<long unsigned int> >'没有名为 'size' 的成员
- 如何从类成员函数返回指针,例如 size_t * class :: function(); 并使用类析构函数 ~size
- 是否可以将 std::unordered_map<Class, Class> 作为 Class 的成员?
- Visual Class 在 DLL 中的成员函数中返回自身C++
- 如何将带有 std::vector 成员的类移动到<class>另一个向量<class>中?
- 模板类静态成员变量在使用'extern template class'语法时的特殊化
- 向量<Class>没有成员"函数"
- 非静态成员函数的使用无效(while loop/no class/wget popen)
- 头文件中是否定义了一个很长的Class函数成员
- 关于C++中Class的私有成员
- "class::data member is private"错误,但我正在使用成员函数对其进行操作?
- 错误:'class std::stack<>'没有名为 'pop_back' 的成员
- 为什么constexpr静态成员(类型为class)需要定义
- 错误:'class TermPaper'没有命名的成员
- 如何修复'class android::Surface'没有名为"setDirtyRect"的成员?
- 'class Poco::XML::Element'没有名为'getNodeByPath'的成员
- 微优化:使用局部变量与.class成员进行迭代
- 错误:请求“y”中的成员“x”,该成员属于非类类型“class**”
- C++ 将 vector<Class*> 传递给模板成员