エラー、バグ、質問 - ページ 2697 1...269026912692269326942695269626972698269927002701270227032704...3185 新しいコメント fxsaber 2020.04.04 21:31 #26961 Stanislav Korotky: 関数内でクラスを宣言する? テンプレートがないと、うまくいかない。 Sergey Dzyublik 2020.04.04 21:46 #26962 MT5(build 2375)で、関数へのポインタの配列を使用した場合、そのポインタを介して関数を呼び出すとコンパイルエラーに なる不具合を修正しました。 #define PRINT(x) ; Print(#x, ":", string(x)) void test(){ PRINT(__FUNCSIG__); } template<typename T> void call(T f_ptr){ f_ptr(); } template<typename T> class A{ public: T arr_1[1]; typedef void (*ff)(); ff arr_2[1]; T test_1(){ return arr_1[0]; } ff test_2(){ return arr_2[0]; } T operator[](int index){ return arr_1[index]; } }; void OnStart(){ typedef void (*ff)(); ff arr[1]; arr[0] = test; ff f_ptr = arr[0]; f_ptr(); //Ok call(arr[0]); //Ok arr[0](); //Compile Error: ')' - expression expected A<ff> a; a.arr_1[0] = test; a.arr_2[0] = test; a.arr_1[0](); //Compile Error: ')' - expression expected a.arr_2[0](); //Compile Error: ')' - expression expected a.test_1()(); //Compile Error: ')' - expression expected a.test_2()(); //Compile Error: ')' - expression expected a[0](); //Ok ??? } fxsaber 2020.04.04 22:41 #26963 Sergey Dzyublik: MT5(build 2375)で、関数へのポインタの配列を使用した場合、そのポインタを介して関数を呼び出すとコンパイルエラーに なる。 非常に古いバグです。 Aleksey Mavrin 2020.04.04 22:47 #26964 何かアドバイスがあれば - MetaEditorのオープンファイルのウィンドウで、後でそれらを開くためにそれらのリストが保存されている場所? 時々、MEはゼロから開きますが、それ以前はたくさんのファイルが開かれていました。アップデートによるものかもしれません。 手動でリストをバックアップしたいのですが、何か他の解決策はないでしょうか? Sergey Dzyublik 2020.04.04 23:00 #26965 Aleksey Mavrin: 何かアドバイスがあれば - MetaEditorのオープンファイルのウィンドウで、後でそれらを開くためにそれらのリストが保存されている場所? 時々、MEはゼロから開くが、その前に多くのファイルが開かれている。アップデートによるものかもしれません。 手動でリストをバックアップしたいのですが、何か他の解決策はないでしょうか? レジストリにリストがあり、iniファイル "metaeditor.ini "にリストがあります。 2つ目の方が必要になる可能性が高いです。 Sergey Dzyublik 2020.04.04 23:04 #26966 fxsaber: 非常に古いバグです。 一度だけ、その通りに動いたことを確かに覚えています。 私はそれを確認しに行き、その配列から関数へのポインタを呼び出すためのいくつかのバリエーションを追加しました。 関数へのポインタの配列がクラス内にあり、特定の配列要素にoperator[]でアクセスすると、すべてがうまくいくことが判明しました。 同時に、普通の関数を使って要素にアクセスすると、またコンパイルエラー になる...。それは奇跡のようなものだ...。 MQL_User 2020.04.05 10:54 #26967 インジケーターの自動再スケーリングをオーバーライドする方法はありますか?例えば、インジケータサブウィンドウに2つのチャートがあるとすると、片方のチャートでは縦軸のリスケーリングを行い、もう片方では行わないようにすることは可能でしょうか?2つ目のグラフがリスケーリングに影響しないように。 Sergey Dzyublik 2020.04.05 15:11 #26968 MT5(build 2375)で、オーバーロードされたテンプレート関数が呼ばれたとき、明示的に特殊化しても、デフォルトのテンプレート関数が呼ばれ、スタックオーバーフローになる不具合を修正しました。 C++オンライン(https://onlinegdb.com/BJTFdUDD8) template<typename T> void test(T &arr[], T value){ printf("1"); }; template<typename T, typename TT> void test(T* &arr[], TT* value){ printf("2"); test<T*>(arr, value); }; class A{}; void OnStart(){ void* arr[] = {}; A* ptr; test(arr, ptr); // result: 2,2,2,2,2,2,2,2,... should be: 2, 1 } prostotrader 2020.04.05 19:27 #26969 bool s_sel = SymbolSelect("", true); s_sel = true; 訂正してください。 fxsaber 2020.04.06 11:25 #26970 ツールチップにはENUM値が1つだけ表示されます。 1...269026912692269326942695269626972698269927002701270227032704...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
関数内でクラスを宣言する?
テンプレートがないと、うまくいかない。
MT5(build 2375)で、関数へのポインタの配列を使用した場合、そのポインタを介して関数を呼び出すとコンパイルエラーに なる。
非常に古いバグです。
何かアドバイスがあれば - MetaEditorのオープンファイルのウィンドウで、後でそれらを開くためにそれらのリストが保存されている場所?
時々、MEはゼロから開きますが、それ以前はたくさんのファイルが開かれていました。アップデートによるものかもしれません。
手動でリストをバックアップしたいのですが、何か他の解決策はないでしょうか?
何かアドバイスがあれば - MetaEditorのオープンファイルのウィンドウで、後でそれらを開くためにそれらのリストが保存されている場所?
時々、MEはゼロから開くが、その前に多くのファイルが開かれている。アップデートによるものかもしれません。
手動でリストをバックアップしたいのですが、何か他の解決策はないでしょうか?
レジストリにリストがあり、iniファイル "metaeditor.ini "にリストがあります。
2つ目の方が必要になる可能性が高いです。
非常に古いバグです。
一度だけ、その通りに動いたことを確かに覚えています。
私はそれを確認しに行き、その配列から関数へのポインタを呼び出すためのいくつかのバリエーションを追加しました。
関数へのポインタの配列がクラス内にあり、特定の配列要素にoperator[]でアクセスすると、すべてがうまくいくことが判明しました。
同時に、普通の関数を使って要素にアクセスすると、またコンパイルエラー になる...。それは奇跡のようなものだ...。
C++オンライン(https://onlinegdb.com/BJTFdUDD8)
訂正してください。
ツールチップにはENUM値が1つだけ表示されます。