エラー、バグ、質問 - ページ 1838 1...183118321833183418351836183718381839184018411842184318441845...3185 新しいコメント Renat Fatkhullin 2017.03.31 09:10 #18371 これは当たり前のことであり、全く正しいことです。動的オブジェクトの内部サイズ(ペイロードなし)を尋ねられました。動的なオブジェクトにはArraySizeを使用 し、静的なオブジェクトにのみsizeofを適用する。Sizeofはコンパイル時にカウントされ、常に定数である。 fxsaber 2017.03.31 09:11 #18372 Renat Fatkhullin:これは当たり前のことであり、全く正しいことです。動的なオブジェクトにはArraySizeを使用 し、静的なオブジェクトにのみsizeofを適用する。 ありがとうございました。この勧告に適合するように、ヘルプをお持ちください。 Slava 2017.03.31 09:11 #18373 ドキュメントを最後まで読むВычисления размера происходит на этапе компиляции. fxsaber 2017.03.31 18:39 #18374 自分でガチガチに固まっているので、助けを求めているんです。このスクリプトを書いて説明します。struct STRUCT { int a; }; class CLASS { public: int a; }; STRUCT f1() { static int i = 0; STRUCT Res; Res.a = i++; return(Res); } CLASS* f2() { static int i = 0; CLASS* Res = new CLASS; Res.a = i++; return(Res); } void OnStart() { int i1 = f1().a + f1().a; int i2 = f2().a + f2().a; }構造があり、似たようなクラスがある。i2計算の後、構造体オブジェクトと同じように、対応するクラスオブジェクトを i1計算の時に自然に削除して欲しい。どうすればいいのか? TheXpert 2017.03.31 18:45 #18375 fxsaber:どうすればいいのでしょうか? スマートポインタで包む、mqlでできるかどうかは不明 fxsaber 2017.03.31 18:54 #18376 Комбинатор: スマートポインターで包む、mqlで出来るかどうかわからないが この問題自体は、複雑な構造を返すことができないことが原因です。例えば、上記のコードで、int a; の代わりにstring a; とすると、f1() は return で失敗します。そのため、授業に目が行ったのだが、そこには記述された罠が待っていた。 TheXpert 2017.03.31 18:56 #18377 一般に、コンストラクタのコピーとoperator=をオーバーライドすることができます。これはクラスには使えません。クラスはポインタのみで返され、構造体は値で返されることになっています。 fxsaber 2017.03.31 19:06 #18378 Комбинатор:一般に、コンストラクタのコピーとoperator=をオーバーライドすることができます。これはクラスには使えません。クラスはポインタのみで返され、構造体は値で返されることになっています。 ありがとうございました。最近解除された制限によって、この解決策を阻まれたのです。現在、動作していますstruct STRUCT { string Str; template <typename T> void operator =( const T Value ) { Print(__FUNCTION__); } void operator =( const STRUCT &Struct ) { this.Str = Struct.Str; } }; STRUCT f() { STRUCT Res; return(Res); } void OnStart() { f() = 1; } pivomoe 2017.03.31 19:39 #18379 Expert Advisorの最適化 中に以下のエラーが発生します。(0, 3)は、0:37:20.429にエラー「OnTimer関数で重大な実行時エラー512(スリープ関数がテストの終わりに達する)」+履歴同期0:00:43.395でテストしました。シングルテストはエラーなしで通過します。MT5とMetaEditorのバージョンは1571です。 fxsaber 2017.03.31 19:44 #18380 pivomoe:Expert Advisorの最適化 中に以下のエラーが発生します。0:37:20.429の「OnTimer関数で重大な実行時エラー512(スリープ関数がテストの終わりに到達)」エラー+履歴同期0:00:43.395Expert Advisor から最大限のコードを削除し、エラーが再現できるようにします。そして、残ったコードを公開する。 1...183118321833183418351836183718381839184018411842184318441845...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
これは当たり前のことであり、全く正しいことです。動的オブジェクトの内部サイズ(ペイロードなし)を尋ねられました。
動的なオブジェクトにはArraySizeを使用 し、静的なオブジェクトにのみsizeofを適用する。Sizeofはコンパイル時にカウントされ、常に定数である。
これは当たり前のことであり、全く正しいことです。
動的なオブジェクトにはArraySizeを使用 し、静的なオブジェクトにのみsizeofを適用する。
ドキュメントを最後まで読む
Вычисления размера происходит на этапе компиляции.
自分でガチガチに固まっているので、助けを求めているんです。このスクリプトを書いて説明します。
構造があり、似たようなクラスがある。i2計算の後、構造体オブジェクトと同じように、対応するクラスオブジェクトを i1計算の時に自然に削除して欲しい。どうすればいいのか?
fxsaber:
どうすればいいのでしょうか?
スマートポインターで包む、mqlで出来るかどうかわからないが
一般に、コンストラクタのコピーとoperator=をオーバーライドすることができます。
これはクラスには使えません。クラスはポインタのみで返され、構造体は値で返されることになっています。
一般に、コンストラクタのコピーとoperator=をオーバーライドすることができます。
これはクラスには使えません。クラスはポインタのみで返され、構造体は値で返されることになっています。
Expert Advisorの最適化 中に以下のエラーが発生します。
(0, 3)は、0:37:20.429にエラー「OnTimer関数で重大な実行時エラー512(スリープ関数がテストの終わりに達する)」+履歴同期0:00:43.395でテストしました。
シングルテストはエラーなしで通過します。
MT5とMetaEditorのバージョンは1571です。
Expert Advisorの最適化 中に以下のエラーが発生します。
0:37:20.429の「OnTimer関数で重大な実行時エラー512(スリープ関数がテストの終わりに到達)」エラー+履歴同期0:00:43.395
Expert Advisor から最大限のコードを削除し、エラーが再現できるようにします。そして、残ったコードを公開する。