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

 
fxsaber:
...

本当に長かったですね。イライラしているのは私だけではないのかもしれません。


そう、あなただけではないのです。)

 
fxsaber:

typeofについて教えてください。未経験のプログラマーにとって、良い説明が見つからなかったのです。

この行を(誤って)削除してしまったのです。

あなたは、https://www.mql5.com/ru/forum/1111/page1983#comment_5616331 このような同様のエントリーをしました。

template<typename T>
void g( T Value ) { Print(typename(Value)); }
重要でない違い:冗長であるため、Valueは存在しない
Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2017.08.16
  • www.mql5.com
Форум алго-трейдеров MQL5
 
typedef void (*fn)();
void f() {}
void OnStart()
{
        fn ff = f;                   //Результат:
        Print( "1:", typename( ff )); //void(*fn)()
        Print( "2:", typename( f  )); //пусто
}
空っぽ...なぜ?
 

File search: Search string: 'AtentatB A'.

結果のフレーズにタブ文字がない:「W:」フォルダー内の「AB A」を検索する

検索結果には影響しませんが、混乱を招く可能性があります。



Поиск - Инструменты - Пользовательский интерфейс - Справка по MetaEditor
Поиск - Инструменты - Пользовательский интерфейс - Справка по MetaEditor
  • www.metatrader5.com
В данном окне отображаются результаты глобального поиска и поиска в файлах. Информация представляется в виде таблицы со следующими полями...
 
A100:
空っぽ...なぜ?
void f() {}
void f( int ) {}
 
ffxsaber:

また曖昧な表現が増えましたね

#ifdef __cplusplus
void f() {}
void f( int ) {}
void OnStart()
{
        void *ff = &f; //Error: E2336
}
#endif
fが一人の時、曖昧さはない
 
A100:

また曖昧な表現が増えましたね。

いちようじゅうおう

そのとおりです。これで、いろんな種類の関数と変数を一度に呼び出すことができるようになりました。このような曖昧さには、ランダムエラーを引き起こさないための常識があるはずです。私見では、誤って別のfを拾って定義したときに問題が発生するくらいなら、typename fに空文字列を発行して誤魔化すのが論理的だと思います。

 
fxsaber:

そのとおりです。これで、あらゆる種類の関数や変数を一度に呼び出すことができるようになりました。

ということは、もしかしたらこの可能性が隠れたエラーの元になっているのかもしれませんね

#ifdef __cplusplus
void f() {}
static char f; //Error: E2238 
#endif
 
A100:

ということは、隠れたバグの元凶かも!?

その可能性がいいですね!ただ、意識してやることが必要です。

 
fxsaber:

ところで...IsStopped() はブール値を返します。

void OnStart()
{
        Print( typename( IsStopped())); //bool
        Print(           IsStopped() ); //0
        Print( typename( _StopFlag  )); //int
}

このPrintは結果を歪めます(falseの代わりに0)。いずれにせよ、この矛盾はドキュメントの中に(だけ)あるわけではありません。

https://www.mql5.com/ru/forum/1111/page1980#comment_5612130