//+------------------------------------------------------------------+ class A { public: virtual int Test_A() { return 100; } }; //+------------------------------------------------------------------+ class B :public A { public: virtual int Test_A() { return 200; } };
B b; //+------------------------------------------------------------------+ void OnStart() { Comment (A::b.Test_A()); } //+------------------------------------------------------------------+
私の解答が悪いとは思えませんので、ここにも書いておきますね。
なぜなら、もともと「どうやるか見てください」というパフォーマンスで、事前に考えていた通りの解答が必要だったからです。そして、あなたのは演出に合わなかった。
しかし、ドキュメントによると、パラメータの計算順序が保証 されていないことは、ディレクターも考慮に入れていませんでした
しかし、「ドキュメント」によると、パラメータの計算順序が保証 されていないことは、ディレクターも考慮に入れていなかった。
公平を期すために、MQLのドキュメントには このことが記述されています。
備考
つまり、最新のパラメータが最初に計算 されて渡され、次に最後尾のパラメータが渡されるというように、パラメータは関数に逆順に渡されることを覚えておく必要があります。オープニングブラケットの後に最初に来るパラメータは、最後に計算 されて送信されます。
これはC++の観点からは確かにおかしいのですが、MQLで文書化されたルールであれば、将来的にコードを移植する予定がないのであれば、大丈夫なのかもしれません。そして、その場合は、#ifdef __MQL__を確認することで、ここを確保することができます。
パラメータの計算順序は保証さ れません
確かに、保証はされませんね。 なんて矛盾したMQLなんでしょう))
今、リンク先に目を通しましたが、確かに保証されていませんね。 なんて物騒なMQLなんでしょう))
x32逆引きでは(保存されると思います)、スタックに直接リンクがあるので。x64では逆の意味で意味がなく、それだけに将来的な保証もないのですが......。しかもそこそこ不自然に見える
最適化の有無で順位が変わっても驚かない
提供されたすべてのオプションに対して、「ありがとうございます」と言いたい。現実的な問題の解決に建設的に貢献したことになる。
となるとうまくいかないということがよくわかるタスクでした。 空虚TimeCurrent()は 失敗します。現状のボイドは、様々なものを不自由にさせることができる。
親メソッドを呼び出したい
以下は、そのコードですが、何か間違っているのでしょうか?
//+------------------------------------------------------------------+
class A
{
public:
virtual int Test_A()
{
return 100;
}
};
//+------------------------------------------------------------------+
class B :public A
{
public:
virtual int Test_A()
{
return 200;
}
};
B b;
//+------------------------------------------------------------------+
void OnStart()
{
Comment (A::b.Test_A());
}
//+------------------------------------------------------------------+
親メソッドを呼び出したい
のように、正しい構文は次のようになります。
が、mqlには正解も不正解もないのです。
もしある関数が派生関数から呼ばれる必要があるなら、なぜその関数を基底の仮想関数に 置くのでしょうか?
fxsaber:
ということがよくわかる課題でした。 空虚 TimeCurrent()を呼び出しても、何も動作しない。今の形のボイドは、いろいろなものを切断することができるんです。
一目でわかる。
2マクロはあまり痛くないようです。μlの力で、もっとエレガントなものが、思い浮かばないのです。
頭から離れない。
なぜ...whileなのか? 中括弧だけで十分です。
それを実現するために