エラー、バグ、質問 - ページ 1922 1...191519161917191819191920192119221923192419251926192719281929...3185 新しいコメント A100 2017.07.06 07:18 #19211 コンパイルエラーです。#define MACRO( x ) ((x) + 2) struct A { A( int, int ) {} }; template<typename T> struct B { static A a; }; template<typename T> A B::a( MACRO(1), 2 ); //error: '(' - declaration without type また、template<typename T>がなくても問題ないのですが、何が違うのでしょうか? fxsaber 2017.07.06 08:52 #19212 A100:コンパイルエラー そして、template<typename T>を使わない場合......なるほど、何が違うのでしょうか?マクロの中の余分な括弧のせいです。struct A { A(int) {} }; template<typename T> struct B { static A a; }; template<typename T> A B::a((0));それらを削除すれば、コンパイルできます。 A100 2017.07.06 09:31 #19213 fxsaber:マクロの中の余分な括弧のせいです。それらを削除すれば、コンパイルできます。 template<typename T> を削除すれば、(括弧付きでも)コンパイルできるようになります。 Stanislav Korotky 2017.07.06 09:41 #19214 A100:.log files %AppData%MetaQuotes³³...\MQL5³³Logs³³YYMMDD.log are not updated promptly.アップデートは、端末を再起動した後、または表示メニューを選択した後のみ行われます。再起動やプレビューをクリックしない場合、対応するファイルは空になります。以前はうまく動作しており(MetaEditor で開いた YYYYMMDD.log ファイルでさえ、Experts タブで行を表示した後、数秒で自動的に更新されていました)、明白ではない余計なアクションを実行する必要はありません。IMHOでは、ログサイズが小さい場合は常にそのようになっています(フォーラムのどこかにキャッシュダンプを開始するサイズについての情報がありました)。ディスクへのフラッシュを初期化するために、いつもコンテキストメニューを 呼び出す必要がありました。 A100 2017.07.06 09:58 #19215 Stanislav Korotky:IMHOでは、ログサイズが小さい場合は常にそうなっています(キャッシュのリセットが始まるサイズについては、フォーラムのどこかに情報がありました)。ディスクへのフラッシュを初期化するために、いつもコンテキストメニューを呼び出す必要がありました。あなたのIMHOの意味がよくわからないのですが。build <= 1596 (32bit)で確認(1行でもすぐに.logファイルに出力[5-10秒])してください。1分前に確認しました。(静流の声) どのキャッシュ? (静流の声) どのキャッシュ? (静流の声) どこかで何かあったんでしょ?ExpertsタブとMQL5Logsフォルダについてです。 fxsaber 2017.07.06 10:22 #19216 A100: template<typename T>を削除すれば、それもコンパイルされます(括弧付きでも)。まあ、「すべて削除すればコンパイルできる」という部類のフレーズですね。エラーの原因については、まさにテンプレートで話していました。その理由は、括弧が追加された状況でテンプレート構文を解析する際のコンパイラの動作が正しくないからです。テンプレートを導入した人は、どこに問題があるのか、なぜ問題が発生するのかがすぐにわかります。 vitrix 2017.07.06 20:25 #19217 こんにちは、私は2つの指標iMACD_1 カラー、シグナルラインとiMACD_2を別のウィンドウに表示するタスクを持っている、ここにコードの一部があります。インデックスを作成しました。 SetIndexBuffer(0,MACDBuffer_1,INDICATOR_DATA); SetIndexBuffer(1,buffer_color_histogram,INDICATOR_COLOR_INDEX); SetIndexBuffer(2,Signal_Line,INDICATOR_DATA); SetIndexBuffer(3,MACDBuffer_2,INDICATOR_DATA);インジケータへのポインタを入手 handle_1=iMACD(name,period,fast_ema_period,slow_ema_period,signal_period,applied_price); handle_2=iMACD(name_,period_,fast_ema_period_,slow_ema_period_,signal_period_,applied_price_);(と不思議に思う))。理論的には、インジケータを表示するように動作するはずです。 if(CopyBuffer(handle_1,0,0,values_to_copy,MACDBuffer_1)<0)return(0); if(CopyBuffer(handle_1,1,0,values_to_copy,Signal_Line)<0) return(0); if(CopyBuffer(handle_2,3,0,values_to_copy,MACDBuffer_2)<0) return(0);効かない!?しかし、その仕組みは次のようなものです。 if(CopyBuffer(handle_1,0,0,values_to_copy,MACDBuffer_1)<0)return(0); if(CopyBuffer(handle_1,1,0,values_to_copy,Signal_Line)<0) return(0); if(CopyBuffer(handle_2,0,0,values_to_copy,MACDBuffer_2)<0) return(0);動作はしているのですが、インジケーターバッファの数の何が問題なのかが解りません。ありがとうございました。 A100 2017.07.06 23:29 #19218 コンパイルエラーです。template<typename T> struct A { static int a1; static int a2; }; template<typename T> int A::a1; template<typename T> int A::a2; struct B : A<int> { void f1() { Print( A<int>::a1 ); } //unresolved static variable 'A<int>::a1' void f2() { Print( a2 ); } //unresolved static variable 'B::a2' };また、template<typename T> を使用しない場合は、問題ありません。 Vladimir Karputov 2017.07.07 03:56 #19219 vitrix:こんにちは、私は2つの指標iMACD_1 カラー、シグナルラインとiMACD_2を別のウィンドウに表示するタスクを持っている、ここにコードの一部があります。インデックスを作成しました。インジケータへのポインタを入手(と不思議に思う))。理論的には、インジケータを表示するように動作するはずです。効かない!?しかし、その仕組みは次のようなものです。動作はしているのですが、インジケーターバッファの数の何が問題なのかが解りません。ありがとうございました。次回は、投稿(私が訂正したあなたの投稿)のコードの挿入 方法を覚えておいてください。2つ目:iMACDインジケーターには2つのバッファしかありません:「0」-MAIN_LINE、「1」-SIGNAL_LINEです。つまり、インジケータ値を取得するには、次のようになります。 CopyBuffer(handle_iMACD,MAIN_LINE или SIGNAL_LINE,index - номер буфера с которого начинаем копирование,values_to_copy,buffer) fxsaber 2017.07.07 05:37 #19220 A100:コンパイルエラーです。また、template<typename T> を使用しない場合は、問題ありません。template<typename T> struct A { static int a1; static int a2; }; template<typename T> int A::a1 = 0; template<typename T> int A::a2 = 0; struct B : A<int> { void f1() { Print( A<int>::a1 ); } //unresolved static variable 'A<int>::a1' void f2() { Print( a2 ); } //unresolved static variable 'B::a2' }; 1...191519161917191819191920192119221923192419251926192719281929...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
コンパイルエラーです。
また、template<typename T>がなくても問題ないのですが、何が違うのでしょうか?コンパイルエラー
そして、template<typename T>を使わない場合......なるほど、何が違うのでしょうか?マクロの中の余分な括弧のせいです。
それらを削除すれば、コンパイルできます。
マクロの中の余分な括弧のせいです。
それらを削除すれば、コンパイルできます。
.log files %AppData%MetaQuotes³³...\MQL5³³Logs³³YYMMDD.log are not updated promptly.
アップデートは、端末を再起動した後、または表示メニューを選択した後のみ行われます。再起動やプレビューをクリックしない場合、対応するファイルは空になります。
以前はうまく動作しており(MetaEditor で開いた YYYYMMDD.log ファイルでさえ、Experts タブで行を表示した後、数秒で自動的に更新されていました)、明白ではない余計なアクションを実行する必要はありません。
IMHOでは、ログサイズが小さい場合は常にそのようになっています(フォーラムのどこかにキャッシュダンプを開始するサイズについての情報がありました)。ディスクへのフラッシュを初期化するために、いつもコンテキストメニューを 呼び出す必要がありました。
IMHOでは、ログサイズが小さい場合は常にそうなっています(キャッシュのリセットが始まるサイズについては、フォーラムのどこかに情報がありました)。ディスクへのフラッシュを初期化するために、いつもコンテキストメニューを呼び出す必要がありました。
あなたのIMHOの意味がよくわからないのですが。build <= 1596 (32bit)で確認(1行でもすぐに.logファイルに出力[5-10秒])してください。1分前に確認しました。
(静流の声) どのキャッシュ? (静流の声) どのキャッシュ? (静流の声) どこかで何かあったんでしょ?
ExpertsタブとMQL5Logsフォルダについてです。
template<typename T>を削除すれば、それもコンパイルされます(括弧付きでも)。
まあ、「すべて削除すればコンパイルできる」という部類のフレーズですね。
エラーの原因については、まさにテンプレートで話していました。その理由は、括弧が追加された状況でテンプレート構文を解析する際のコンパイラの動作が正しくないからです。テンプレートを導入した人は、どこに問題があるのか、なぜ問題が発生するのかがすぐにわかります。
こんにちは、私は2つの指標iMACD_1 カラー、シグナルラインとiMACD_2を別のウィンドウに表示するタスクを持っている、ここにコードの一部があります。
インデックスを作成しました。
インジケータへのポインタを入手
(と不思議に思う))。
理論的には、インジケータを表示するように動作するはずです。
効かない!?
しかし、その仕組みは次のようなものです。
動作はしているのですが、インジケーターバッファの数の何が問題なのかが解りません。ありがとうございました。
コンパイルエラーです。
また、template<typename T> を使用しない場合は、問題ありません。
こんにちは、私は2つの指標iMACD_1 カラー、シグナルラインとiMACD_2を別のウィンドウに表示するタスクを持っている、ここにコードの一部があります。
インデックスを作成しました。
インジケータへのポインタを入手
(と不思議に思う))。
理論的には、インジケータを表示するように動作するはずです。
効かない!?
しかし、その仕組みは次のようなものです。
動作はしているのですが、インジケーターバッファの数の何が問題なのかが解りません。ありがとうございました。
次回は、投稿(私が訂正したあなたの投稿)のコードの挿入 方法を覚えておいてください。
2つ目:iMACDインジケーターには2つのバッファしかありません:「0」-MAIN_LINE、「1」-SIGNAL_LINEです。つまり、インジケータ値を取得するには、次のようになります。
コンパイルエラーです。
また、template<typename T> を使用しない場合は、問題ありません。