如果再有疑问,我有SendOrder(int &Ticket, int Type ,double LT ,double OP=-1 ,int ModeSL=0)函数,而不是我最好写出函数的调用方式。似乎你把一个数字作为第一个参数传递,这没有意义。在这个参数中,你的函数试图返回该订单在经纪人数据库中的编号。显然,这应该是一个变量。如果有疑问,请看一下功能。而函数是TRUE,以改变被传递的数字,它希望在那个地方有一个变量。
voidOnStart()
{
int a = 5;
int b = 7;
int c = f(a, b);
Print("a = ", a, ": b = ", b": c = ", c);
}
int f(int k, int n)
{
k += 2;
return(k+n);
}
//результат a = 5: b = 7: с = 14
另一种选择
voidOnStart()
{
int a = 5;
int b = 7;
int c = f(a, b);
Print("a = ", a, ": b = ", b": c = ", c);
}
int f(int &k, int n)
{
k += 2;
return(k+n);
}
//результат a = 7: b = 7: с = 14
MetaEditor有对MQL-4语言的帮助。阅读整个帮助或至少浏览一下它是有意义的。
下午好。
我在屏幕上做了一个按钮,想给它附加一个离线图表打开。我可以用什么函数来指定所需离线图表的路径?
voidOnTimer() // On Timer WindowRedraw(); // Redraw window
左击图片放大或右击保存
MetaEditor有对MQL-4语言的帮助。全部读完是有意义的,或者至少要翻阅一下
谢谢你的答复。我不明白它到底是什么。例如,我有一个带参数的SendOrder(int &Ticket, int Type ,double LT ,double OP=-1 ,int ModeSL=0)函数。此外,如果我在代码中试图在任何条件下引用它,我得到的错误是 "参数作为参考传递,变量"。
请告诉我们该怎么做?谢谢你。
如果参数没有&按值转移,那就更可靠了。实际的参数被复制,并将副本传递给函数。对函数内的参数所做的改变仍留在函数内。在函数调用处的实际参数保持不变。对于函数来说,传递给它的是常量还是变量并不重要,因为在任何情况下,只有参数的一个副本到达函数。这样做是为了提高可靠性,以保护变量在一个函数中不发生意外变化。
当通过引用传递参数 时,指定了&符号,这意味着引用,即变量本身的地址,被传递给了函数。该函数可以改变这个变量,这些变化将影响到调用该函数的函数内部的变量值。那么,对于一个函数来说,要改变一个参数的值,它必须是一个变量,翻译者很可能写道:作为引用传递的参数,预期的变量=引用的参数必须是一个变量。
如果再有疑问,我有SendOrder(int &Ticket, int Type ,double LT ,double OP=-1 ,int ModeSL=0)函数,而不是我最好写出函数的调用方式。似乎你把一个数字作为第一个参数传递,这没有意义。在这个参数中,你的函数试图返回该订单在经纪人数据库中的编号。显然,这应该是一个变量。如果有疑问,请看一下功能。而函数是TRUE,以改变被传递的数字,它希望在那个地方有一个变量。
从一个例子中不是更容易理解吗?
另一种选择
这就是区别。