[英]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
這是我在做什么的示例代碼。 有人可以向我解釋為什么這不可能或不允許嗎? 我應該怎么做才能解決這個問題。
您在Node
和model
之間具有循環依賴關系。
為了解決這個問題,而不是...
#include "Node.h"
...在model.h中,向前聲明...
class Node;
...這將使您擁有Node& node;
在您的Model
class
。
或相反亦然。
更好的是……看看您是否可以重新設計並消除這種循環依賴。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.