Je vais le répéter pour qu'il ne se perde pas dans le hasard).
1) Si j'ouvre un graphique ChartOpen(), alors comment puis-je retourner le focus (activité, visibilité) sur mon graphique, à partir duquel mon EA fonctionne, sans le fermer.
Bug MT5 (build 2342) : erreur de compilation lors de l'appel d'une fonction modèle avec des types d'arguments explicites, lors de l'appel depuis une fonction non modèle surchargée.
template<typename T>
class B{
public:
void func(const T value){
printf("1\r\n");
func<T>(value); //'func<int>' - ambiguous call to overloaded function with the same parameters
};
template<typename TT>
void func(const TT){
printf("2\r\n");
};
};
voidOnStart(){
B<int> b;
b.func(1);
b.func(1.1);
}
Le bogue MT5 (build 2342) génère une erreur de compilation lors de la génération du code d'une fonction modèle même s'il existe une fonction modèle surchargée avec une signature appropriée pour les paramètres passés. C++ en ligne: https://onlinegdb.com/HyxjmV-DVI
#ifdef __cplusplus
#include <iostream>
#endif
class C{
public:
struct A{
char aaa;
};
template<typename T>
void test(A&, T&, T&, void* = NULL){
printf("1");
}
template<typename T>
void test(T&, T&, T&){
printf("2");
}
};
struct B : public C::A{
char data;
};
struct D{
char data;
};
voidOnStart(){
C c;
B b;
D d;
c.test(b, b, b); // should be: 2
c.test(b, d, d); // should be: 1 //Compile Error: template parameter ambiguous, could be 'B' or 'D'
}
int main(){
OnStart();
return0;
}
Le bogue MT5 (build 2342) génère une erreur de compilation lors de la génération du code d'une fonction modèle même s'il existe une fonction modèle surchargée avec une signature appropriée pour les paramètres passés. C++ en ligne : https://onlinegdb.com/HyxjmV-DVI
Avez-vous déjà eu des nouvelles de Metaquotes au sujet de tout le dur travail de test que vous faites ?
Il n'y a aucun moyen de résoudre le problème suivant : Comment obtenir une "spécialisation partielle" pour la fonction de test afin de distinguer les paramètres transférés et d'exécuter un algorithme différent dans chaque cas ? Je serai heureux de vous aider, merci.
Sergey Dzyublik: Il n'y a aucun moyen de résoudre le problème suivant : Comment obtenir une "spécialisation partielle" pour la fonction de test afin de distinguer les paramètres à passer et exécuter un algorithme différent dans chaque cas ? Je serai heureux de vous aider, merci.
class C{
public:
struct A{
char aaa;
};
/*void test(A&, A&, A&){
printf("1");
}*/template<typename T>
void test(A&, T&, T&){
if (sizeof(T)==sizeof(A)) printf("1");
elseprintf("2");
}
};
struct B : public C::A{
char data;
};
struct D{
char data;
};
voidOnStart(){
C c;
B b;
D d;
c.test(b, b, b); // 2 should be: 2
c.test(b, d, d); // 1 should be: 1
}
Je m'excuse d'avoir simplifié le code au maximum, introduisant par là même certaines imprécisions, notamment : - les objets passés à la fonction ont la même taille (code mis à jour) ; - au lieu d'une sortie muette printf("1");/printf("2") ; on accède en fait directement à l'interface ou aux internes de l'objet, ce qui ne permet pas de mettre en ligne deux algorithmes dans une seule fonction d'appel (code mis à jour).
Je vais le répéter pour qu'il ne se perde pas dans le hasard).
1) Si j'ouvre un graphique ChartOpen(), alors comment puis-je retourner le focus (activité, visibilité) sur mon graphique, à partir duquel mon EA fonctionne, sans le fermer.
2. qui sait pourquoi Bid, Ask ne coïncident pas avec le prix du graphique Close[0]https://www.mql5.com/ru/forum/160683/page1082#comment_15152111
Oui, je cherchais ça, je ne pensais pas que c'était le bon endroit pour chercher.
C'est comme ça que vous obtenez le numéro d'un agent.
Bug MT5 (build 2342) : erreur de compilation lors de l'appel d'une fonction modèle avec des types d'arguments explicites, lors de l'appel depuis une fonction non modèle surchargée.
Le bogue MT5 (build 2342) génère une erreur de compilation lors de la génération du code d'une fonction modèle même s'il existe une fonction modèle surchargée avec une signature appropriée pour les paramètres passés.
C++ en ligne: https://onlinegdb.com/HyxjmV-DVI
Le bogue MT5 (build 2342) génère une erreur de compilation lors de la génération du code d'une fonction modèle même s'il existe une fonction modèle surchargée avec une signature appropriée pour les paramètres passés.
C++ en ligne : https://onlinegdb.com/HyxjmV-DVI
Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading
Bugs, bugs, questions
Sergey Dzyublik, 2020.02.28 22:21
Avez-vous déjà eu des nouvelles de Metaquotes au sujet de tout le dur travail de test que vous faites ?
Oui et non.
Pas de plaintes de ma part, mais un bon mot ne fait jamais de mal.
Comment obtenir une "spécialisation partielle" pour la fonction de test afin de distinguer les paramètres transférés et d'exécuter un algorithme différent dans chaque cas ?
Je serai heureux de vous aider, merci.
C++ en ligne avec le comportement attendu(https://onlinegdb.com/rycNVNDN8).
Il n'y a aucun moyen de résoudre le problème suivant :
Comment obtenir une "spécialisation partielle" pour la fonction de test afin de distinguer les paramètres à passer et exécuter un algorithme différent dans chaque cas ?
Je serai heureux de vous aider, merci.
Je m'excuse d'avoir simplifié le code au maximum, introduisant par là même certaines imprécisions, notamment :
- les objets passés à la fonction ont la même taille (code mis à jour) ;
- au lieu d'une sortie muette printf("1");/printf("2") ; on accède en fait directement à l'interface ou aux internes de l'objet, ce qui ne permet pas de mettre en ligne deux algorithmes dans une seule fonction d'appel (code mis à jour).