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

 
Stanislav Korotky:

はい、そこではすべてのMQL構文が破棄されます。新しいビルドでのソースのコンパイルをとりあえず修正しました。ZIPを追加します。

ZIPを使用せず、全てのファイル階層をサンドボックスに落とすことが可能です。

 
fxsaber:

ZIPなしでファイル階層全体をサンドボックスに落とすことが可能です。

可能ですが、オプションとしてのZIPは必須となります。https://www.mql5.com/ru/articles/1971 の記事を最新のコンパイラに適応させたソースはありますか?

Работаем с ZIP-архивами средствами MQL5 без использования сторонних библиотек
Работаем с ZIP-архивами средствами MQL5 без использования сторонних библиотек
  • www.mql5.com
Однажды автора данной статьи привлекла интересная особенность функции CryptDecode, а именно — возможность распаковывать переданный ей ZIP-массив. Этот модификатор был введен разработчиками торговой платформы MetaTrader 5 для того, чтобы можно было распаковывать ответ некоторых серверов, используя стандартную функцию WebRequest. Однако из-за...
 
Stanislav Korotky:

できるけど、オプションでZIPは需要ありそう。https://www.mql5.com/ru/articles/1971 の記事を最新のコンパイラに適応させたソースはありますか?

はい、unzipを使用しています。以下は 動作確認済みバージョンです。

 
fxsaber:

はい、解凍して使っています。以下は 動作確認済みバージョンです。

例のzipにゴミが残っています。

2020.02.12 21:54:06.620 ZipTask1 (EURUSD,D1)    21 leaked strings left
2020.02.12 21:54:06.620 ZipTask1 (EURUSD,D1)    21 undeleted objects left
2020.02.12 21:54:06.620 ZipTask1 (EURUSD,D1)    21 objects of type KeyValuePair left
2020.02.12 21:54:06.620 ZipTask1 (EURUSD,D1)    2184 bytes of leaked memory

私のスクリプトにねじ込みました - 同じことです - zipライブラリにあるようです。

PS.Dictionary.mqhにあることがわかった。

 
Stanislav Korotky:

ジッパーを使った作業の例として、ゴミが残っています。

私のスクリプトにねじ込みました - 同じことです - zipライブラリにあるようです。

PS.Dictionary.mqhにあることがわかった。

コードの定型スタイルがある。一部の機能しか使っていなかったので、問題に遭遇しなかっただけということです。

 

なぜ、こんなテンプレートが作れないのか?

struct A
  {
   int               i;
   double            d;
  };

template<typename T>
T f(int value)
  {
   T result;
   return(result);
  }
//+------------------------------------------------------------------+
void OnStart()
  {
   A a;
   int i = 1;
   a = f(i);
  }
//+------------------------------------------------------------------+

テンプレートミスマッチ

'f' - テンプレートを適用できません.

f の宣言を参照してください。

f' - 参照として渡されるパラメータ,期待される変数.

f' - 参照として渡されるパラメータ,期待される変数.

 

リポジトリでちょっと困っていることがあります。いくつかのファイルは正常にリポジトリに送信されますが、いくつかは何も実行されません。

そして一番重要なのは、それを削除するためのmql5.storage-fileが୧⃛(๑⃙⃘◡̈๑⃙⃘)୨⃛にないことです。


今はどこにあるのでしょうか?

 
Igor Makanu:

なぜ、こんなテンプレートが作れないのか?

なぜなら、あなたはテンプレートの仕組みについて完全に間違った認識を持っているようだからです。

   a.i = f<int>(i);

あなたが望んだ「奇跡」は起きないのです。

 
Igor Makanu:

なぜ、こんなテンプレートが作れないのか?

なぜなら、テンプレートは出力値ではなく、パラメータで型を出力するだけだからです。

 
fxsaber:

なぜなら、あなたはテンプレートの仕組みについて完全に間違った認識を持っているようだからです。

あなたが望んだ「奇跡」は起きないのです。

コンパイラがテンプレートをどのように変換しているかは想像がつきますが、何も新しいことはなく、同じように動作しているのですね。

struct A
  {
   int               i;
   double            d;
  };

template<typename T>
void f(int value,T &result)
  {
   T tmp;
   result = tmp;
  }
//+------------------------------------------------------------------+
void OnStart()
  {
   A a;
   int i = 1;
   f(i,a);
  }
//+------------------------------------------------------------------+
アンドレイ・トゥルハノビッチ

なぜなら、テンプレートはパラメータによる型を出力するだけで、出力値による型は出力しないからです。

なるほど、何か見落としがあるのではないかと思っていました。

OK、重要ではないので、パラメータを介して動作します。