ibse Asked:2020-06-14 18:09:11 +0000 UTC2020-06-14 18:09:11 +0000 UTC 2020-06-14 18:09:11 +0000 UTC 构建 C++ 项目时出现编译器错误 C3646 772 有两个类具有彼此的实例: 啊文件 #pragma once #include "B.h" class A { public: B b; A(); ~A(); }; 文件_ #pragma once #include "A.h" class B { public: A a; B(); ~B(); }; .cpp文件 #include "A.h" A::A() { } A::~A() { } B.cpp文件 #include "B.h" B::B() { } B::~B() { } c++ 1 个回答 Voted Best Answer AlexGlebe 2020-06-14T18:22:08Z2020-06-14T18:22:08Z 不允许使用尚未定义的类的内容来定义类。一般来说,在您的情况下,您提出了一个无限大小的对象类。 这个问题通常通过指向另一个类的指针来解决。 class A ; class B { A * a ; }; //-- class B ; class A { B * b ; };
不允许使用尚未定义的类的内容来定义类。一般来说,在您的情况下,您提出了一个无限大小的对象类。
这个问题通常通过指向另一个类的指针来解决。