Erreurs, bugs, questions - page 1816
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Cela ressemble à une erreur MQL.
Vous avez l'erreur. Comment imaginez-vous attribuer un parent vide à un descendant ?
Exactement la même chose que non-vide. Dans baseObj1 il y a un pointeur vers un objet de la classe descendante. Si vous supprimez delete(obj1), l'affectation de la dernière ligne ne pose aucun problème - les types de pointeurs correspondent. Je pense que l'affectation doit se faire de la même manière si l'objet auquel le pointeur se réfère est supprimé. Et il ne doit pas y avoir d'erreur "Invalid pointer access" car il n'y a pas de tentative d'accès à un objet supprimé.
Voici cette partie de votre code.
Apparemment, il vérifie si le type d'objet référencé par baseObj1 correspond au type du pointeur obj2. Il y a deux possibilités ici :
1) Le pointeur lui-même peut être une structure complexe qui contient le type de l'objet.
2) Nous devons nous référer à l'objet pour connaître son type.
Cela semble être le cas n°2, et nous devrons vivre avec. Merci pour les questions pertinentes)
Kaspersky hurle sur le terminal en essayant de se mettre à jour depuis une semaine.
Cette partie de votre code
La même chose qu'ici.
class B : public A {};
class C : public B {};
void OnStart()
{
B *b = new B;
delete b;
B *c = b;
b = new C;
A *a = c;
Print( a, ":", b, ":", c );
}
Comme ici.
class B : public A {};
void OnStart()
{
B *b1 = new B;
A *a = b1;
delete b1;
B *b2 = b1;
b1 = new B; //уже другой объект
a = b2; //
Print( a, ":", b1, ":", b2 );
}
Kaspersky hurle sur le terminal en essayant de se mettre à jour depuis une semaine.
tout est clair, build 1545. y compris kaspersky dit tout est clair
https://www.virustotal.com/ru/file/2c3bf04666714cfac26e6e1c0fe355c6081554a0c2a15434849b0a5c241c95b0/analysis/1487685060/
La question portait sur la conversion d'un pointeur dérivé distant en un pointeur de base. A est la base, B est la dérivée. J'ai ajouté C et supprimé les indices pour éviter toute confusion.