Don*_*lio 2 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;
};
Run Code Online (Sandbox Code Playgroud)
但似乎我不能这样做:
Order a;
Order b=a;
Run Code Online (Sandbox Code Playgroud)
编译器挂起:
'=' - structure have objects and cannot be copied
Run Code Online (Sandbox Code Playgroud)
如何分配struct?
我的推荐答案
您可以将类与指针一起使用,而不是与结构一起使用,结构不能具有指针,并且不能在内部使用字符串进行复制,
示例如下, http://docs.mql4.com/basis/types/object_pointers
阅读此书可了解类与结构的关系 http://docs.mql4.com/basis/types/classes
char数组的替代答案(但对此进行简单更改)
char在结构内部而不是字符串中定义具有固定大小的数组。
可以使用s和数组并与之一起使用CharArrayToString( ... )
StringToCharArray( str, array, 0, StringLen( str ) )stringchar
例:
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 ) );
Run Code Online (Sandbox Code Playgroud)