Erreurs, bugs, questions - page 1891
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
Si nous transférons le pointeur de haut en bas, c'est-à-dire vers le parent, puis vers un autre endroit de la portée, les champs du descendant seront disponibles à cet endroit ?
Oui, voici un exemple qui illustre votre question :
et la sortie :D'abord, nous vérifions le casting non résolu de bas en haut et obtenons NULL. C'est exact.
Ensuite, nous créons un objet CLASS2, nous lui attribuons une référence à sa classe parente (il est important de comprendre ici que l'environnement sait dynamiquement que le type original de l'objet CLASS2 est stocké dans ses méta-informations). Ensuite (pour répondre à votre question), il faut effectuer une conversion dynamique (en vérifiant le droit de conversion en fonction des méta-informations de l'objet source) de la référence CLASS1 à CLASS2.
Nous vérifions le résultat du casting et l'écrivons dans la variable i = 1. Enfin, nous sortons la valeur de i, en faisant référence à l'objet créé à l'origine.
Tout fonctionne correctement et conformément aux spécifications (y compris la spécification dynamic_cast du C++ lui-même).
Vous êtes sûr ? Parce que dynamic_cast est le plus souvent utilisé pour la conversion ascendante, du parent à la descendance.
De plus, dans MQL, il coule parfaitement de bas en haut, même quand il ne devrait pas :
Exactement :
N'oubliez pas de mettre à jour les dernières versions. Je teste actuellement sur la 1598, qui a été récemment postée en version zippée dans ce fil de discussion, je crois.
N'oubliez pas de mettre à jour les dernières versions.
Oui, l'ancienne version.
C'est vrai, on ne peut pas conduire de bas en haut, seulement de haut en bas. C'est pour des raisons de sécurité.
Oui, l'ancienne version.
Vous gommez celui-ci, il est trompeur et contredit directement le fonctionnement de dynamic_castDans le cadre de l'exemple soulevé de l'affrontement CLASS1 -> CLASS2, vous avez raison. C'est le genre de casting que les gens ont la plupart du temps en tête.
De plus, c'est le "vous ne pouvez pas lancer de bas en haut, seulement de haut en bas" qui est au cœur du contrôle de sécurité dynamic_cast.
Ceux qui savent ce qu'ils font comprennent l'essence du dynamic_cast.
N'oubliez pas de mettre à jour les dernières versions. Je teste actuellement sur 1598, qui a été récemment posté sous forme de zip dans ce fil de discussion, je crois.
Dans quel fichier exe se trouvent le compilateur et l'exécuteur ?
En ce moment, MT4b1080 exécute MEb1599. Veuillez expliquer ce que font metaeditor.exe et terminal.exe.
Dans quel fichier exe se trouvent le compilateur et l'exécuteur ?
Le MT4b1080 exécute maintenant MEb1599. Veuillez expliquer ce que font metaeditor.exe et terminal.exe.
Le compilateur est le même pour les deux plateformes. Il est dans metaeditor.exe
Et l'exécuteur, qui vérifie le même dynamic_cast, dans terminal.exe ?
Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading
Bugs, bugs, questions
fxsaber, 2017.05.11 13:26
Pourquoi un tel code EX5Est-ce que ça pèse 5kb ?
Une autre question.