gpt4 book ai didi

结构有对象,不能复制

转载 作者:行者123 更新时间:2023-12-02 06:58:29 26 4
gpt4 key购买 nike

我正在尝试从我的第一个 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/classes


使用 char 数组的替代答案(但对此进行简单更改)

在结构中定义具有固定大小的 char 数组,而不是字符串。

可以使用
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 ) );

关于结构有对象,不能复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26486359/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com