永发信息网

error C2027:use of undefined type ’A’ see declaration of ’A

答案:2  悬赏:0  手机版
解决时间 2021-01-02 00:40
  • 提问者网友:溺爱和你
  • 2021-01-01 21:46
error C2027:use of undefined type 'A' see declaration of 'A
#include
using namespace std;
class A;
class B
{
public :
B(A * a){
a->c = 5;
}
};
class A
{
public:
int c;
void set()
{
B b(this);
cout
最佳答案
  • 五星知识达人网友:行雁书
  • 2021-01-01 22:15

你在定义类B之前,只是声明了类A,这个声明是前向声明,在类A声明之后,定义之前,类A 是不完整类型,即已知A是一个类型,但不知道包含哪些成员.
对于不完整类型,只能定义一个A类型的指针或引用,且不能访问它的成员,因为编译器只知道有类A存在而不知道类A到底是什么.
再问: 不能访问,定义这个指针有什么意义呢?
再答: 定义这个指针,可以再定义A之后,访问


全部回答
  • 1楼网友:刀戟声无边
  • 2021-01-01 23:18
和我的回答一样,看来我也对了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯