0

次の MQL コードがあります。

class Account {};

class Trade {

  protected:

    struct TradeParams {
      uint     slippage;   // Value of the maximum price slippage in points.
      Account *account;    // Pointer to Account class.
    };

    TradeParams trade_params;

  public:

     void Trade(TradeParams &_params) {
       trade_params = _params; // Error: '=' - structure have objects and cannot be copied.
     }

};

ただし、MetaTrader プラットフォームは、次のエラーのためにファイルをコンパイルしません:

'=' - 構造体にはオブジェクトがあり、コピーできません TestTrade.mqh 17 21

MetaEditor 5.00 ビルド 1601 (2017 年 5 月) を使用しています。

この同様の質問を確認しましたが、構造体には文字列などの複雑なオブジェクトが含まれていません。提案は、私が実際に使用している構造体の代わりにポインターを使用することです。私の目標は、上記のように構造体引数を持つクラス コンストラクターを持つことです。

上記の構造体定義の何が問題で、どのように修正できますか?

4

2 に答える 2