我目前遇到了一种我不理解的情况,如果有人能向我解释为什么会发生这种情况以及我如何解决它,我将不胜感激。假设我有两个头文件Client.h
,Order.h
分别带有 Client 和 Order 类。这是一个概述
文件名:Order.h
#ifndef Order_Header
#define Order_Header
.....
#include "Client.h"
class Order
{
public:
enum OrderType{open,close};
Client db; // ---> Line A
};
#endif
文件名:Client.h
#ifndef Client_Header
#define Client_Header
.....
#include "Order.h"
class Client
{
public:
void someMethod(Order::OrderType e);
};
#endif
现在,如果这个项目被编译,我在 A 行得到一个错误,说它不能识别客户端类。但是,如果我将枚举从 Order 类移动到 Client 类,以便使用枚举来访问,Client::OrderType
那么我不会收到任何错误。这里发生了什么关于如何解决这个问题的任何建议,而不是我的头卫工作?