结构有对象,无法复制

时间:2014-10-21 12:08:48

标签: struct compiler-errors mql4

我正在尝试从我的第一个MQL4专家顾问开始,

我创建了一个struct来处理我的订单:

struct Order
  {
   int               pair;
   int               command;
   double            quantity;
   double            entry;
   double            stopLoss;
   double            profit;
   int               slippage;
   string            comment;
   int               magicNumber;
   datetime          expire;
  };

但似乎我不能这样做:

  Order a;
  Order b=a;

编译器挂起说:

'=' - structure have objects and cannot be copied

如何指定struct

1 个答案:

答案 0 :(得分:3)

正如MQL4 documentation所说:

  

不包含动态数组的字符串或对象的结构   被称为简单结构;这种结构的变量可以是   即使它们是不同的结构,也可以自由地相互复制。   可以传递简单结构的变量以及它们的数组   作为从DLL导入的函数的参数。

由于Order成员,

string不是一个简单的结构。因此,您无法使用=运算符进行复制。删除string成员或按成员复制成员。