错误c2036:结构的大小未知

error c2036 : unknown size if structure

本文关键字:未知 结构 c2036 错误      更新时间:2023-10-16

我有2个class(A &C)定义在文件allocate.hwork.h中定义的类B。
我在work.h文件中包含了allocate.h
我的代码看起来像:

Class A{  
}  
Class C
{  
public:  
    struct xyz{  
        A ob;  
    };  
}  
include"allocate.h"   
Class C;   
Class B{  
  void test(){  
      xyz obj; // `Error : error c2036 : xyz unknown size`  
  }  
}  

有人能告诉我如何在功能测试中传达xyz结构的大小吗?

class在c++中(大小写敏感)都是小写的,声明以分号结束。请将真实的代码粘贴到您的问题中!

在本例中,xyz是在class C的范围内声明的,因此在使用它时需要指定范围。

class B{
    void test(){
        C::xyz obj;
    }
};