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

 
Alexey Viktorov:

エラーはありません。スクリーンショットにあるように、条件は問題なく満たされていますが、デバッガで確認するには ...こんなことではいけない。

デバッガでダブルで作業するのは開発者の仕事であり、MEでは論理的ではない、と上に書きました。

VS-とデバッガで確認しましたが、問題なく確認できました。

ファイル:
asfdfg.jpg  295 kb
 
Alexey Viktorov:

つまり、比較されるのは2つの倍精度ではなく、ドキュメントで示唆されているように、正規化された差分がゼロと比較されるのです。また、例題でも、差分ではなく、ゼロで初期化された変数がゼロ番と比較されていますし・・・。

そして、その直接的な平等は評価できないが、どのように評価できるかというと、......を通してである。...できることがわかりました。

なぜ誰も自分のシステムをチェックして教えてくれないのか?アンドレイ、自分で確認しなかったの?

再現しました。なぜ、こんな無駄なことをするのか理解できない。不具合を報告し、対応中です。

 
Andrey Khatimlianskii:

再現しました。こんなことに時間を費やすのはもったいないと思います。バグを報告、次へ進む。

私のパソコンの問題ではなく、一般的な問題であることを理解するために、無駄な時間を費やしているのです。チェックありがとうございました。

イゴール・マカヌ

ダブルで作業し、さらにデバッガで作業するのは開発者の仕事です、それは私が上に書いたように、このすべてのMEで論理的ではありません。

VSでもデバッガでも問題なく確認できました。

イゴール、MetaEditorの問題と書いてあるのに、なぜVSでチェックするんだ。

しばらく前、デバッガをよく使っていたときは、この問題に気がつかなかったんです。

 
Alexey Viktorov:

イゴール、MetaEditorの問題と書いてあるのに、なぜVSでチェックするんだ。

自分をヒーローにするな。

しかし、私にとっては、マイクロソフトとそれに関連するすべてが標準であり、そこで動作するのであれば、他のソフトウェアでも同様に動作するはずなので、VSで確認し、MEで比較するのです。

ZS: よく知られた原則に頼ることができますが、MQLはC++ではないので、ここでは別の方法で動作します。

 
Vladimir Pastushak:

なぜ、角度が正方形から測れると思うのですか?

角度は、価格とチャートの目盛りを 基準に測定されます。

グラフを1ピクセルあたり1ポイントにすると、45度が得られます。

角度はピクセル単位で最初のトレンドライン点から相対的に測定されたと考えた。正方形は、おおよその基準点として機能しました。返信ありがとうございました。

 
Evgeniy Zhdan:

原因はわかったのでしょうか?なぜなら、昨日から私にも起こり始めたことだからです。名言の何か、だと思うんです。

メッセージのリンクを教えてください。もう覚えていないんです ......。
 

バグ MT5 (build 2375) データ型 color の引数で関数を 呼び出すと、署名に対応するデータ型 color のオーバーロードされたテンプレート関数があるにもかかわらず、暗黙の型会話が使用されます。
この問題は、テンプレートクラスがテンプレート関数の引数として使用され、そのテンプレートパラメータが関数のテンプレートパラメータと一致する場合にのみ影響するため、バグをキャッチし再現することは非常に困難でした。

#define  PRINT(x) ; Print(#x, ":", string(x))

template<typename T>
class A : public T{};

class B {};
class C : public A<B>{};


template<typename _Tp>
class D{
   template<typename T>
   void test(const A<T>&, const long){PRINT(__FUNCSIG__);}
   
   template<typename T>
   void test(const A<T>&, const ulong){PRINT(__FUNCSIG__);}
   
   template<typename T>
   void test(const A<T>&, const color){PRINT(__FUNCSIG__);}
    
public:
   D(){
      C c;
      _Tp value = {};
      test(c, value);   // 'test' - ambiguous call to overloaded function
   }
};


void OnStart(){
   D<long> d_long;      // Ok
   D<ulong> d_ulong;    // Ok
   D<color> d_color;    // Compile Error
}
 
ここで何が問題なのか?
void OnStart()
{
  class CLASS
  {
  public:
    template <typename T> // template declarations are not allowed in local classes
    static void f( T ) {}
  };
  
  int i = 0;
  
  CLASS::f(i);
}


昔は 使えたんですけどね。

 
fxsaber:
ここで何が問題なのか?


以前は 使えたんですけどね。

関数内でクラスを宣言する?

 
Stanislav Korotky:

関数内でクラスを宣言する?

MQLでできる、どこにも書いてないが動く、でもテンプレートで試してない

私が見つけた唯一の用途 - 関数内にクラスの静的インスタンスを記述でき、複雑な計算を初期化するのに便利なので、順番に呼び出す複数の関数を1つの関数にすることができます

すなわち、「クラスを関数にラップする」 - などなど。