返信ありがとうございました。最後まで理解できない。例えば、SendOrder(int &Ticket, int Type ,double LT ,double OP=-1 ,int ModeSL=0)関数にパラメータを持たせています。さらに、例えばコード内で何らかの条件でそれを参照しようとすると、「パラメータは参照、変数として渡されました」というエラーが発生します。
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言語に対するヘルプを備えています。ヘルプを全部読むか、少なくとも一通り目を通すことに意味がある
こんにちは。
画面上にボタンを作り、そこにOffline Chartのオープニングを付けたいのですが、どうすればいいですか?目的のOffline Chartへのパスを指定するには、どのような関数を使用すればよいですか?
voidOnTimer() // オンタイマー WindowRedraw(); // ウィンドウの再描画
画像を左クリックで拡大、右クリックで保存
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)関数が あるので、その関数がどのように呼ばれた かを書いた方が良いだろう。第1パラメータに数値を渡しているようですが、これは意味がありません。このパラメータでは、ブローカーのデータベースに登録されている注文番号を返そうとします。明らかにこれは変数であるべきです。迷ったら、機能を見てください。そして、関数は渡される数値を変更するためにTRUEである、それはその場所に変数を望んでいる。
例題から理解した方がわかりやすいのでは?
もう一つの選択肢
これが違いです。