gpt4 book ai didi

c++ - 尝试使用 main 运行类时出错

转载 作者:太空宇宙 更新时间:2023-11-04 15:37:54 25 4
gpt4 key购买 nike

这是代码:

#include <iostream>
using namespace std;
class A;

int main(){
A aObject;
aObject.cool();
return 0;
}
class A{
public:
void cool(){
cout << "hi";
}
};

但是当我尝试运行它时,出现了这个错误:

||=== Build: Debug in First (compiler: GNU GCC Compiler) ===| In function 'int main()':|

error: aggregate 'A aObject' has incomplete type and cannot be defined|

||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

帮助!

最佳答案

#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;
}

关于c++ - 尝试使用 main 运行类时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29050226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com