[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 721 1...714715716717718719720721722723724725726727728...1145 新しいコメント Igor Makanu 2010.07.19 14:31 #7201 Abzasc: ポイントは、変数や多くの条件、カウンターを掛けることではありません。 重要なのは、正しく書くことであり、言語の省略を使用することではありません。 int a; for(a=0;a<8;a++){ //здесь что то делаем } for(a=0;a<8;a++){ //делаем что нибудь другое } 削除済み 2010.07.19 14:33 #7202 Abzasc: ポイントは、変数やたくさんの条件、カウンターを作らないことです。 まあ、そんなことはコンパイラが許してくれますから、どうぞ...。 //+------------------------------------------------------------------+ int start() { bool flag; if(flag){ for(int a = 0; a < 10;a++){ Print("a = ", a); } }else{ for(a = 10; a > 0;a--){ Print("a = ", a); } } } //+------------------------------------------------------------------+ デフォルトのフラグはFalse なので、変数aが 宣言されている最初のfor ループは実行されませんが、else 分岐で同じ「宣言されていない」変数が使用されることは防げません: )。 Artyom Trishkin 2010.07.19 14:33 #7203 Abzasc: の場合の条件 さあ、どうする それ以外の場合は 事足りる ポイントは、変数やたくさんの条件、カウンターを作らないことです。 この場合、変数を再初期化する必要はありません。書いたとおりにやれば、変数aは再初期化されることなく、論理分岐の適切な場所で使用されます。一度宣言して、自分のため、人類のために使ってください...。:)どこで何に使うのか、迷わないことが最大のポイント...。 削除済み 2010.07.19 14:38 #7204 ToLik_SRGV: ということで、変数aが宣言されている最初のforループは実行されません。 ループは必ず実行されなければならない。 削除済み 2010.07.19 14:40 #7205 IgorM: 略語を使うのではなく、正しく書くという点です。 問題は、{}がないことでしたね。ありがとうございました。 削除済み 2010.07.19 14:43 #7206 artmedia70: この場合、変数を再初期化する必要はありません。書いたとおりにやれば、変数aは再初期化されることなく、論理分岐の適切な場所で使用されます。一度宣言して、自分のため、人類のために使ってください...。:)どこで何に使うのか、迷わないことが最大のポイント...。 715 pp, 18.07.2010 14:56にそうしました。カウンターの後に括弧を付けませんでした... 削除済み 2010.07.19 14:43 #7207 上記の「効果」は、MQL-machineがまずEX4ファイルから宣言された変数を 探し、論理分岐に関係なく完全に変数を作成していることを証明しています。一方では、RAMを保存しないことが判明し、他方では、私の意見では、このスタイルは最良の選択肢ではありませんが、あなたは、同様の構造を作成することができます。 Igor Makanu 2010.07.19 14:47 #7208 Abzasc: 問題はすべて{}がないところにあったのですね。ありがとうございました。 問題はすべて変数の宣言に あったのだ。 int a; 私はそれを宣言し、必要なときに必要な場所で使用します。一方、あなたは変数の宣言を繰り返していました - ほとんどの場合、コンパイラはそれをスキップしませんでした。 ループ内のステートメントが1つだけなら、{}は必要ありませんが、それ以上ある場合は{}を付けなければなりません、さもなければ、ループが正しく計算されていない理由を探すことになります SZZY:始めたばかりの人は、forの後に中括弧を付けてください。 削除済み 2010.07.19 14:48 #7209 ToLik_SRGV: IgorMのコードでは、エラーは出ません。aはブランチの言及数によってメモリが割り当てられることはないと思うので、大丈夫だと思います。 削除済み 2010.07.19 14:49 #7210 Abzasc: ループは必ず実行されなければならない。 ループは関係あるのか?これは、使用されることが知られていないブロックで作成された変数が、まだ「再生」されており、再初期化、ましてや再利用前に非初期化する必要なく、start() メソッド全体で可視かつ使用可能であることを示す一例です。 1...714715716717718719720721722723724725726727728...1145 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ポイントは、変数や多くの条件、カウンターを掛けることではありません。
重要なのは、正しく書くことであり、言語の省略を使用することではありません。
ポイントは、変数やたくさんの条件、カウンターを作らないことです。
まあ、そんなことはコンパイラが許してくれますから、どうぞ...。
デフォルトのフラグはFalse なので、変数aが 宣言されている最初のfor ループは実行されませんが、else 分岐で同じ「宣言されていない」変数が使用されることは防げません: )。の場合の条件
さあ、どうする
それ以外の場合は
事足りる
ポイントは、変数やたくさんの条件、カウンターを作らないことです。
ということで、変数aが宣言されている最初のforループは実行されません。
略語を使うのではなく、正しく書くという点です。
この場合、変数を再初期化する必要はありません。書いたとおりにやれば、変数aは再初期化されることなく、論理分岐の適切な場所で使用されます。一度宣言して、自分のため、人類のために使ってください...。:)どこで何に使うのか、迷わないことが最大のポイント...。
上記の「効果」は、MQL-machineがまずEX4ファイルから宣言された変数を 探し、論理分岐に関係なく完全に変数を作成していることを証明しています。一方では、RAMを保存しないことが判明し、他方では、私の意見では、このスタイルは最良の選択肢ではありませんが、あなたは、同様の構造を作成することができます。
問題はすべて{}がないところにあったのですね。ありがとうございました。
問題はすべて変数の宣言に あったのだ。
int a;
私はそれを宣言し、必要なときに必要な場所で使用します。一方、あなたは変数の宣言を繰り返していました - ほとんどの場合、コンパイラはそれをスキップしませんでした。
ループ内のステートメントが1つだけなら、{}は必要ありませんが、それ以上ある場合は{}を付けなければなりません、さもなければ、ループが正しく計算されていない理由を探すことになります
SZZY:始めたばかりの人は、forの後に中括弧を付けてください。
ループは必ず実行されなければならない。
ループは関係あるのか?これは、使用されることが知られていないブロックで作成された変数が、まだ「再生」されており、再初期化、ましてや再利用前に非初期化する必要なく、start() メソッド全体で可視かつ使用可能であることを示す一例です。