//#include <iostream>template<typename T>
class A{
public:
typedefvoid (*callback)(T&); //class namespace for function pointer type
callback f_ptr;
T data;
};
template<typename T>
class B{
public:
typedefvoid (*callback)(T&); //class namespace for function pointer type
callback f_ptr;
};
template<typename T>
void func(T& value){
++value;
}
voidOnStart(){
//int main(){
A<int> a;
B<int> b;
a.f_ptr = func<int>; // automatic code generation of templates functions
b.f_ptr = a.f_ptr; // assignment operation for function pointers with the same function signatures and different function pointer types.int x = 1;
b.f_ptr(x);
printf("%d\r\n", x); //2printf("%d\r\n", b.f_ptr == a.f_ptr); //1 // equal operation for function pointers with the same function signatures and different function pointer types.
}
#property strictvoid Func( int &[] ) {}
void Func( int &[][2] ) {} // 'Func' - function already defined and has bodyvoidOnStart()
{
int Array1[];
int Array2[][2];
Func(Array1);
Func(Array2); // 'Array2' - invalid array access
}
テンプレートとvoid*の使い分けは?
特別なやり方があるわけではなく、あくまで直感です
#(MT5(build 2060)では修正されていません)"typedef 内で同じ関数シグネチャを繰り返し使用するとコンパイルエラーに なる".
#(MT5(build 2060)では修正されていません)"typedef で作業する場合、明示的に特殊化されたテンプレート関数を使用すると、そのテンプレート関数用のコードが生成されない".
懸案の名前空間の実装を考慮し、次期C++の 不具合修正の一環として、この動作の サポートを実装することをご検討ください。
こんにちは!トピックにご注目ください
https://www.mql5.com/ru/forum/314275
簡単に言うと、テスターがシンボル設定で設定されたマージンと一致しないマージンを計算することトレーディング、自動売買システム、ストラテジーテストに関するフォーラム
MetaTrader 4 build 1170 プラットフォームの新バージョン
fxsaber, 2019.05.28 12:10
MT4コンパイラのバグでしょうか?MT5では問題ありません。MT4では、関数をオーバーロードする方法はありません。
MT 4でMT 5のわずかな誤動作が確認できない・・・。
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
MetaTrader 4 build 1170 プラットフォームの新バージョン
fxsaber, 2019.05.28 14:24
MT4とMT5の見慣れない違いをキャッチした。MT4のバグでしょうか?ファイブはスタティックの初期化を適切に行った。初回アクセス時。
4人はそうじゃなかった。そして、いつそうなるかはわからない。
build 2062: カスタムシンボルの作成時にエラー5305が発生する。
2060年には、すべてがうまくいっている。
MT4ではコマンドラインキー/skipupdateがあったように記憶しています。
MT5でも同じようなものがあるのでしょうか?アップデートを無効にするにはどうすればよいですか?
fxsaber:
MT4は呼び出され、MT5は呼び出されない。
古いコンパイラでコンパイルしているようです。 最新のコンパイラ(MT5に付属)でコンパイルすれば、すべてうまくいきます。
1966年まで編集。MT4で2062を試したところ、正常に動作しました。ありがとうございました。
これに勝る ものはないのが残念です。