我正在尝试从我的第一个 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
?
我的推荐答案
您可以使用带有指针的类而不是结构体,结构体不能有指针,也不能使用内部的字符串进行复制,
示例如下,http://docs.mql4.com/basis/types/object_pointers http://docs.mql4.com/basis/types/object_pointers
阅读本文以了解类与结构http://docs.mql4.com/basis/types/classes http://docs.mql4.com/basis/types/classes
使用 char 数组的替代答案(但对此进行简单更改)
Define char
结构内部具有固定大小的数组而不是字符串。
Can use
CharArrayToString( ... )
and
StringToCharArray( str, array, 0, StringLen( str ) )
跟...共事string
s and char
arrays
Example:
struct Order
{
int pair;
int command;
double quantity;
double entry;
double stopLoss;
double profit;
int slippage;
char comment[10];
int magicNumber;
datetime expire;
};
Order a;
string str = "testing\n";
StringToCharArray( str, a.comment, 0, StringLen( str ) );
Order b = a;
Comment( "Array " + CharArrayToString( b.comment ) );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)