Erreurs, bugs, questions - page 2679
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Il semble que ce soit dans le passage des paramètres lors de l'appel du constructeur de la classe de base.
Bogue MT5 (build 2365) Erreur de compilation sur l'appel implicite du constructeur à la classe utilisant l'opérateur d'affectation, lorsque le pointeur passant par référence est utilisé comme argument du constructeur.
Si le passage de pointeur par référence est remplacé par le passage de valeur, tout fonctionne.
Merci pour le post, corrigé
Bug MT5 (build 2365) erreur de compilation lors de l'appel du constructeur de la classe de base lorsque le paramètre de la classe de modèle est utilisé comme classe de base.
Aucun problème dans MT5 (build 2363).
Nous pouvons voir que ArrayResize pour les objets est plus rapide maintenant.
Une fois de plus, la complexité d'une partie de la fonction ArrayResize a été réduite d'un logarithme à zéro
Merci beaucoup d'avoir accéléré ArrayResize pour la mémoire réservée.
MT5 (build 2365) sur un projet réel std::vector::push_back est 1,5 fois plus rapide que la build précédente.
Et le délai de std::vector:resize est passé de 2,2 fois à 1,45 fois.
build 2366, je pense que les constantes ne fonctionnent pas correctement maintenant
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 1. 4
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 2. 5
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 3. 6
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 4. 7
si vous remplacez const par static , cela fonctionnera comme prévu - un appel à f1() et f2() pendant l'initialisation de a et b
2020.03.21 12:58:03.496 tst (EURUSD,H1) A::f1
2020.03.21 12:58:03.496 tst (EURUSD,H1) A::f2
2020.03.21 12:58:03.496 tst (EURUSD,H1) 1. 4
2020.03.21 12:58:03.496 tst (EURUSD,H1) 2. 5
2020.03.21 12:58:03.496 tst (EURUSD,H1) 3. 6
2020.03.21 12:58:03.496 tst (EURUSD,H1) 4. 7
Si vous écrivez du code comme ça, c'est un bug total qui ne peut pas être attrapé.
build 2366, je pense que les constantes ne fonctionnent pas correctement maintenant
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 1. 4
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 2. 5
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 3. 6
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 4. 7
si vous remplacez const par static , cela fonctionnera comme prévu - un appel à f1() et f2() pendant l'initialisation de a et b
2020.03.21 12:58:03.496 tst (EURUSD,H1) A::f1
2020.03.21 12:58:03.496 tst (EURUSD,H1) A::f2
2020.03.21 12:58:03.496 tst (EURUSD,H1) 1. 4
2020.03.21 12:58:03.496 tst (EURUSD,H1) 2. 5
2020.03.21 12:58:03.496 tst (EURUSD,H1) 3. 6
2020.03.21 12:58:03.496 tst (EURUSD,H1) 4. 7
C'est exactement comme ça que ça devrait fonctionner.
Si tu écris du code comme ça, c'est un bug totalement indétectable.
Tout est correct ici aussi.
C'est exactement comme ça que ça devrait fonctionner.
L'année dernière, cela n'a pas fonctionné de cette façon - j'ai spécialement testé les modificateurs de const.
et il semble que@Ilyas a expliqué comment exécuter un programme MQL, d'abord tous les const et static sont initialisés, peu importe où ils sont décrits, et ensuite les constructeurs de classe sont appelés
ok, avec cette initialisation static / const - il peut encore être distribué correctement, mais le fait que le modificateur const ne garantit pas que le compilateur va vérifier cela est très inattendu - mon deuxième exemple
Tout va bien ici aussi.
pas correct !
Je l'ai vérifié spécifiquement dans VS2019 :
Erreur CS0133 L'expression assignée à "a" doit être constante. ConsoleApp2 ..\repos\ConsoleApp2\ConsoleApp2\Program.cs 13 Actif
Erreur CS0133 L'expression assignée à "b" doit être constante. ConsoleApp2 ..\repos\ConsoleApp2\ConsoleApp2\Program.cs 13 Actif