簡體   English   中英

C ++頭文件包括彼此

[英]C++ header files including each other

我有2個文件,都包含另一個文件,並且出現了奇怪的錯誤。

#ifndef NODE_H
#define NODE_H

#include "model.h"
etc....
#endif

#ifndef MODEL_H
#define MODEL_H

#include "Node.h"
etc....
#endif

這是我在做什么的示例代碼。 有人可以向我解釋為什么這不可能或不允許嗎? 我應該怎么做才能解決這個問題。

您在Nodemodel之間具有循環依賴關系。

為了解決這個問題,而不是...

#include "Node.h"

...在model.h中,向前聲明...

class Node;

...這將使您擁有Node& node; 在您的Model class

或相反亦然。

更好的是……看看您是否可以重新設計並消除這種循環依賴。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM