我有这两个简单的文件:
Trade.mqh
class Trade;
class Trade {
public:
#include "Order.mqh"
struct TradeRequest {
ENUM_ORDER_STATE type;
};
};
Order.mqh
class Order;
class Trade;
#include "Trade.mqh"
class Order : public Trade {
public:
enum ENUM_ORDER_STATE {
ORDER_FOO,
ORDER_BAR
};
TradeRequest order;
};
但是编译失败。
如何在不保留相同文件且不将结构移动到一个文件的情况下解决编译问题?
我想保持结构的原样(两个单独的文件),贸易类文件中的贸易相关结构,它依赖于订单类文件中定义的订单相关枚举。
错误是:
MQL4/MQL5 用于
Trade.mqh
'交易' 结构未定义 (Order.mqh)
'TradeRequest' - 没有类型的声明 (Order.mqh)
MQL4 用于
Order.mqh
'ENUM_ORDER_STATE' - 没有类型的声明 (Trade.mqh)
'贸易' - 结构未定义 (Order.mqh)
';' - 程序意外结束 (Order.mqh)
在 MQL5 中编译,但带有枚举已经定义的警告。