我有下面的代码,有循环依赖,我搜索堆栈溢出和GPT我找到这个解决方案。
通过正向声明Tps类,DocumentMetaData类现在可以使用指向Tps类的指针,而不需要其完整定义。
我尝试了这个但Visual Studio仍然在DocumentMetaData
中给我错误use of undefined type TPS
。
class Tps;
class DocumentMetaData {
Tps* tps;
};
class Document {
DocumentMetaData data;
};
class Tps {
Document doc;
DocumentMetaData data;
};
我有什么办法解决这个问题?
如何在示例代码中声明类。
error
1条答案
按热度按时间ghhkc1vu1#
您所显示的错误不会发生在您发布的代码中。
尝试执行此操作时会发生错误:
这可以通过重新排列代码来解决,因此初始化
tps
的代码是 * 在 *Tps
的完整定义之后。另外,C++是大小写敏感的,所以(例如)
TPS
和Tps
是不一样的。