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

最佳答案

C++中的class(区分大小写)全部为小写,并且声明以分号结尾。请在您的问题中粘贴真实代码!

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

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

关于c++ - 错误c2036:结构未知大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8426158/

10-11 22:58
查看更多