Erreurs, bugs, questions - page 1615
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
Erreur de compilation :
Voici quelques autres erreurs :
Et il y a aussi un problème avec la conversion des pointeurs.
Le code suivant ne compile pas :
bien que la conversion soit explicite ici. Tout fonctionne en C++.
Et il y a aussi quelque chose d'anormal dans le fait d'amener les panneaux indicateurs.
C'est vrai, le compilateur se bat.
Allez lire ce qui concerne le dynamic_cast, le static_cast et le reinterpret_cast et quand les utiliser correctement et quand ne pas le faire.
Le C++ convertit ce code en reinterpret_cast et le MQL en dynamic_cast. Et d'après ce que je comprends, c'est exactement le cas lorsque le compilateur peut trouver une erreur de dynamiccast pendant la compilation.
reinterpret_cast est illégitime dans ce cas, donc le fait que ce code compile en C++ n'est pas un argument.
Le C++ convertit ce code en reinterpret_cast et le MQL en dynamic_cast. Et pour autant que je sache, c'est exactement le cas lorsque le compilateur peut trouver une erreur de dynamiccast pendant la compilation.
Reinterpret_cast est illégitime dans ce cas, donc le fait que ce code compile en C++ n'est pas un argument.
Attends, pourquoi tu mélanges les choses ? Qu'est-ce que le dynamic cast a à voir là-dedans ? Les tâches du compilateur ne consistent pas à jouer les Sherlock Holmes et à chercher quelque chose dans la logique du programme. Il ne fait qu'une vérification formelle de la conformité avec la norme du langage, rien de plus. Et tout est correct du point de vue de la norme.
Si vous aviez regardé attentivement mon exemple, vous auriez vu que le problème était lié à protected. Si vous le changez en public, tout est ok. L'objet lui-même n'est pas modifié à cause de cela, c'est-à-dire que le compilateur MQL a juste une restriction inutile, c'est tout.
Ne spéculez donc pas et ne cherchez pas une signification secrète là où il n'y en a pas, qui n'est qu'une banale erreur de compilation.