class CBar { };
class CFoo : public CBar { };
voidOnStart()
{
CBar bar;
//--- динамическое приведение типа указателя *bar к указателю *foo разрешено
CFoo *foo = dynamic_cast<CFoo *>(&bar); // критической ошибки выполнения не возникнет Print(foo); // foo=NULL //--- попытка явного приведения ссылки объекта типа Bar к объекту типа Foo запрещено
foo=(CFoo *)&bar; // возникнет критическая ошибка выполненияPrint(foo); // эта строка не будет выполнена
}
デフォルトのコピー演算子が発動する。
難しくないのであれば、どこで読めますか?
MQL4/5を使って、メールやSMSから情報を読み取る方法を教えてください。例えば、私が情報シグナルをメールで受信し、Expert Advisorがそれを読んでポジションをオープン/クローズ します。
デフォルトのコピー演算子が発動する。
ドキュメントにはこんなことも書いてありました(下から3行目に注目)。
https://www.mql5.com/ru/docs/basis/types/casting
単純な構造体へのコピー(memcpy風)は可能だったと記憶していますが、私の構造体は単純ではありません。
単純な構造体へのコピー(ダムmemcpy風)は可能だったと記憶しているが、単純な構造体は持って いない。
MQL5が変わりました。
MQL5が変わりました。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
MetaTrader 5 build 1640の新バージョン:独自の金融商品の作成とテスト
メタクォーツ・ソフトウェア株式会社, 2017.07.19 18:03
MetaTrader 5プラットフォームビルド1640の新バージョン:独自の金融商品の作成とテスト
暗黙演算子は、オブジェクトを心でコピーする。
必要であれば、オーバーロードを 使用して暗黙のコピー演算子の代わりに、動作をオーバーライドして独自のバリアントを作成することができます。
ファクスセーバー
ありがとうございます、これで納得です。喜ぶべきか、喜ばざるべきか、わからない。旧コードとの互換性が崩れている。このような重要な変更には、コンパイルスイッチや#pragmaを使用して、新しい機能を強制的に起動させるようにするのが良い方法です。
例えば、私のauto_ptr:
さて、新しいコードでは(コピー演算子/コンストラクタが沈黙していない限り)auto_ptrがコピーできることが判明し、1つのポインタが複数削除されることになります。
File MQL5⇄Include⇄Controls⇄SpinEdit.mqh
intMaxValue(void) const { return(m_min_value); }.
MT4のダウンロード方法を教えてください。
mt4setup.exeをダウンロードし、インストールしましたが、mt5がインストールされました。
mt4setup.exeをダウンロードし、インストールしましたが、mt5がインストールされました。