エラー、バグ、質問 - ページ 2520 1...251325142515251625172518251925202521252225232524252525262527...3185 新しいコメント A100 2019.07.29 13:03 #25191 そして、間違いはない Это_новая_форма_комментария; void OnStart() {} A100 2019.07.29 15:18 #25192 コンパイル時のエラー void f() {} //Error: 'f' - function must have a body void f(); void OnStart() { f(); } それ以外は。 void f() {} void OnStart() { f(); } 大丈夫です。何が違うの? それに、C++は1パスで普通にコンパイルできる。 #ifdef __cplusplus void f( int ) {} //была функция //... void f( int = 1 ); //уточнили параметры по умолчанию void OnStart() { f(); //вызвали } #endif A100 2019.07.29 17:11 #25193 コンパイルエラーも出ないし...。あとは結果を当てるだけです。int f( int ) { return 1; } //... int f( int = 2 ); int f( int ) { return 3; } void OnStart() { Print( f( 0 )); } A100 2019.07.29 18:56 #25194 コンパイル時の警告が不鮮明 //lib.mqh //объявления void f(); //Warning: no #import declaration //lib.mq5 //реализация void f() {} //Test1.mq5 //собираем все вместе #include "lib.mqh" #include "lib.mq5" void OnStart() { f(); } それ以外は。 //Test2.mq5 void f(); void f() {} void OnStart() { f(); } 警告はありません。どんな違いがあるのでしょうか? Alexey Navoykov 2019.07.29 19:14 #25195 A100: コンパイル時の不明確な警告 //lib.mqh //объявления int f(); //Warning: no #import declaration //lib.mq5 //реализация void f() {} int型の タイプミスではないでしょうか? A100 2019.07.29 19:16 #25196 Alexey Navoykov:int型 との誤植でしょうかね? そうですね...わかりやすくするために、everywhereをvoidに修正しました。 一方、意味はともかく、すでに警告(※)が出ているものは明確ではない //lib.h //объявления int g(); //Warning: no #import declaration //(*) void f(); //Warning: no #import declaration lib.hは一般的な宣言ファイル、lib.mq5, lib2.mq5, lib3.mq5...は、一般的な宣言ファイルです。ファイルに実装があり、必要に応じて#includeでインクルードされます。したがって、ある特定のビルドでは int g() の実装が全く存在しないかもしれませんが、不明瞭な警告は存在します。 実際には何百もあり、本当に重要な警告を見ることを妨げています。 Alexey Navoykov 2019.07.29 19:44 #25197 A100: そうですね...わかりやすくするために、everywhereをvoidに修正しました。 一方、意味はともかく、すでに警告(※)が出ているものは明確ではありません lib.hは宣言を含む共通のファイル、lib.mq5, lib2.mq5, lib3.mq5...は。ファイルに、必要に応じて#includeでプラグインされる実装が含まれています。したがって、ある特定のビルドでは int g() の実装が全く存在しないかもしれませんが、不明瞭な警告は存在します。それが何百とあって、本当に重要な警告の表示を邪魔しているのです。 なお、同じインクルードブックで実装を書いた場合でも、この警告はポップアップ表示されます。 A100 2019.07.29 23:47 #25198 特に注意すべきは、以下のエラーです。 //lib1.mqh void f(); //Error: 'f' - function must have a body #include "lib.mq5" //... //lib2.mqh void f(); #include "lib.mq5" //... //lib.mq5 void f() {} #include "lib1.mqh" #include "lib2.mqh" void OnStart() { f(); } 基本的にこれと似て いるが、ファイルが多く、むしろわかりにくくなっている fxsaber 2019.07.30 16:16 #25199 これとC++がどう連動するのか、教えてください。struct A { int i; }; struct B : public A { string Str; }; void OnStart() { A a = {0}; B b; b = a; a = b; // OK } この機能を自分のコードで使うかどうか悩んでいます。C++で動くなら使ってみようかな。いや、次のビルドでキャンセルされるかもしれないので、それはないと思います。 fxsaber 2019.07.30 16:18 #25200 初期化警告が出ないのはエラーでしょうか?struct A { int i; }; struct B : public A { string Str; }; void OnStart() { A a; B b; // b = a; // possible use of uninitialized variable 'a' a = b; // OK } 1...251325142515251625172518251925202521252225232524252525262527...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
そして、間違いはない
コンパイル時のエラー
それ以外は。
大丈夫です。何が違うの?
それに、C++は1パスで普通にコンパイルできる。
コンパイル時の警告が不鮮明
それ以外は。
警告はありません。どんな違いがあるのでしょうか?
コンパイル時の不明確な警告
int型 との誤植でしょうかね?
そうですね...わかりやすくするために、everywhereをvoidに修正しました。
一方、意味はともかく、すでに警告(※)が出ているものは明確ではない
lib.hは一般的な宣言ファイル、lib.mq5, lib2.mq5, lib3.mq5...は、一般的な宣言ファイルです。ファイルに実装があり、必要に応じて#includeでインクルードされます。したがって、ある特定のビルドでは int g() の実装が全く存在しないかもしれませんが、不明瞭な警告は存在します。 実際には何百もあり、本当に重要な警告を見ることを妨げています。そうですね...わかりやすくするために、everywhereをvoidに修正しました。
一方、意味はともかく、すでに警告(※)が出ているものは明確ではありません
lib.hは宣言を含む共通のファイル、lib.mq5, lib2.mq5, lib3.mq5...は。ファイルに、必要に応じて#includeでプラグインされる実装が含まれています。したがって、ある特定のビルドでは int g() の実装が全く存在しないかもしれませんが、不明瞭な警告は存在します。それが何百とあって、本当に重要な警告の表示を邪魔しているのです。なお、同じインクルードブックで実装を書いた場合でも、この警告はポップアップ表示されます。
特に注意すべきは、以下のエラーです。
基本的にこれと似て いるが、ファイルが多く、むしろわかりにくくなっている