エラー、バグ、質問 - ページ 1422

 

Mihail Matkovskij, 2015.11.01 12:55

端末をビルド902にアップデートできない、以前はアップデートできたのに、3日前からできなくなった。バージョン:4、ビルド:890、ビットレート:32。その理由は何でしょうか。

具体的に何がうまくいっていないのでしょうか?何をしているのか、何を得ているのか。どのようなエラーですか?
 

実行中のエラー

class A { public:
        virtual bool    g() { Print( __FUNCTION__ ); return true; }
        virtual bool    f() { return g(); }
};
class B : public A { public:
        virtual bool    g() { Print( __FUNCTION__ ); return true; }
};
void OnStart()
{
        int i = 0;
        for ( B b; b.f(); i++ )
                if ( i++ >= 3 )
                        break;
}                

結果: 、本来:

 
Karputov Vladimir:
具体的に何がうまくいっていないのでしょうか?何をやって、何を得ているのか?どのようなエラーが発生するのでしょうか?

ログは機密事項なので、プライベートメッセージで送ります。

 
A100:

メモリーリーク。


A100さん、なかなかの虫取りですね!!!!これからもよろしくお願いします。脱帽です :)

 
Stanislav Korotky:
こちらはMT4です。ここ数日、試しています。ビルド902/32。

MT4/891/32で、異なるコンパイラ(ビルド:1174, 1210)で、あなたの例を試してみました。

アップグレードのどちらか...またはロールバックする。

 
sigma7i:

A100さん、なかなかの虫取りですね!!!!これからもよろしくお願いします。脱帽です :)

だから、誰が実際にOOPの能力を使っているのか、誰がこのテーマに関する推論の達人なのか(達人の枝分かれはある)、一目瞭然なのである。

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

いい加減にAOPを...。

ジョージ・マーツ, 2015.10.26 19:58

ただ、調理方法を知らないだけなんですね。

OOPは、プログラムの構造化と、それをサポートし修正する能力の両面で非常に有益である。

特に、「クラスを関数のコンテナとして使う」とおっしゃっていますが、そのコンテナに関数と連動するデータを入れれば、それだけでOOPが実践できます。


 
A100:

このエラーを取り除く唯一の方法は、metaeditor.iniのOptimize=1を0に置き換えることです。

私は別に処分する必要はないのですが、開発者はそう思っているのかもしれませんね。結局のところ、コンパイラがうまく機能していれば、このようなエラーはコンパイル時にさえ発生しないはずなのだ。そのため、それが発生したときの正確なコードサンプルを示しました。
 
Ilya Malev:
そのため、表示されたときに正確なコード例を示しました。
ビルド1210/32では繰り返せない
そうだろ?
void OnStart()
{
        ENUM_TIMEFRAMES tf=NULL;
        if(tf==NULL)   tf=Period();
}
 
A100:

MT4/891/32で、異なるコンパイラ(ビルド:1174, 1210)で、あなたの例を試してみました。

アップグレードのどちらか...またはロールバックする。

いいえ。Service Deskはいつも「最新のビルドにアップグレードしてください」と言います。(もちろん、バグフィックスさえしていれば正しいはずですが)。ビルド900で問題を検出し、902にアップデートしました。どうやら、クラスのテンプレートが追加されたために問題が発生したようです。しばらくはテンプレートが「踊る」ことになりますが、まったく使わないほうがいいと思います。

 
A100:
There's no repeat on build 1210, 32
そうなんですか?