错误c2036:结构未知大小

时间:2011-12-08 04:27:41

标签: c++

我在文件allocate.h中定义了2个类(A& C),在work.h中定义了B类。
我将allocate.h包含在work.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结构的大小?

1 个答案:

答案 0 :(得分:6)

C ++中的

class(区分大小写)都是小写的,声明以分号结尾。请将真正的代码粘贴到您的问题中!

在这种情况下,xyzclass C的范围内声明,因此您需要在使用时指定范围。

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