[英]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.