尝试使用 main 运行类时出错
Error trying to make a class run with main
这是代码:
#include <iostream>
using namespace std;
class A;
int main(){
A aObject;
aObject.cool();
return 0;
}
class A{
public:
void cool(){
cout << "hi";
}
};
但是当我尝试运行它时,出现此错误:
||=== 构建:先调试(编译器:GNU GCC 编译器) ===|在函数 'int main()' 中:|
错误:聚合"对象"类型不完整,无法定义|
||=== 构建失败:1 个错误、0 个警告(0 分钟、0 秒)===|
帮助!
#include <iostream> using namespace std; class A; int main(){ A aObject;
此时,编译器只知道有一个名为A
的类。它还不知道关于它的任何其他事情。它不知道它的大小,也不知道如何构造类的对象。它需要它的定义来构造一个对象。
以下程序之所以有效,是因为编译器在您创建类对象的点知道类的定义:
#include <iostream>
using namespace std;
class A{
public:
void cool(){
cout << "hi";
}
};
int main(){
A aObject;
aObject.cool();
return 0;
}
你把东西放在山雀上。 试试这个:
#include <iostream>
using namespace std;
class A{
public:
void cool(){
cout << "hi";
}
};
int main(){
A aObject;
aObject.cool();
return 0;
}
将类 A 移到主函数之前。
相关文章:
- 分段错误当我试图运行程序时出错
- 运行命令 "rosbag play example.bag" 时出错。找不到与插件 rosbag/NoEncryptor 对应的库
- 从反向顺序C++访问矢量时运行时出错
- 合并两个排序链表时运行时出错
- 从主线程中询问运行对象表 (ROT) 时出错
- 在调试模式下,所有程序都运行良好,但在发布模式下,我在cudaMalloc操作中出错
- 如何在 C/C++ 中运行阿克曼函数而不会出错?
- 在VS2015中访问类成员时运行时错误,但在Linux上未访问时出错
- 在 Qt 中将 x 可执行文件作为按钮事件运行时出错
- 运行时动态加载库时出错"unresolved external symbol"
- 尝试使用浮点参数运行重载函数时出错
- 可执行文件在运行时出错
- 在 Eclipse.It 中运行C++代码时出错,'Your program cannot output..'
- 在 gdb 中运行 c++ 代码时出错:[下级 1(进程 9985)正常退出]
- iOS:在真实设备上运行项目时出错
- 使用 G++ 在终端中运行.cpp文件时出错
- 运行 shell 脚本时出错:"pipe call failed"
- 尝试在Qt中运行应用程序时出错
- 使用 FFMPEG 将每个输入图像转换为 H264 编译时出错,该图像在 MevisLab 中运行的 Visual St
- 运行调试库项目时发布库出错