Fehler, Irrtümer, Fragen - Seite 1615
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Kompilierungsfehler:
Hier sind noch ein paar weitere Fehler:
Und auch mit der Zeigerumwandlung stimmt etwas nicht.
Der folgende Code lässt sich nicht kompilieren:
obwohl die Umwandlung hier explizit ist. Alles funktioniert in C++.
Und es ist auch etwas faul, wenn man die Wegweiser einführt.
Es ist richtig, der Compiler kämpft.
Lesen Sie mehr über dynamic_cast, static_cast und reinterpret_cast und darüber, wann man sie richtig verwendet und wann nicht.
C++ wandelt diesen Code in reinterpret_cast und MQL in dynamic_cast um. Und soweit ich weiß, ist dies genau der Fall, wenn der Compiler während der Kompilierung einen Dynamiccast-Fehler finden kann.
reinterpret_cast ist in diesem Fall unzulässig, so dass die Tatsache, dass dieser Code in C++ kompilierbar ist, kein Argument darstellt.
C++ wandelt diesen Code in reinterpret_cast und MQL in dynamic_cast um. Und soweit ich weiß, ist dies genau der Fall, wenn der Compiler während der Kompilierung einen Dynamiccast-Fehler finden kann.
Reinterpret_cast ist in diesem Fall unzulässig, so dass die Tatsache, dass dieser Code in C++ kompilierbar ist, kein Argument darstellt.
Moment, warum verwechseln Sie das? Was hat dynamically cast damit zu tun? Es gehört nicht zu den Aufgaben des Compilers, Sherlock Holmes zu spielen und etwas in der Programmlogik zu suchen. Er führt nur eine formale Prüfung der Übereinstimmung mit dem Sprachstandard durch, mehr nicht. Und vom Standpunkt des Standards aus ist alles korrekt.
Wenn Sie sich mein Beispiel genau angesehen hätten, wäre Ihnen aufgefallen, dass das Problem mit protected zusammenhängt. Wenn Sie es auf public ändern, ist alles in Ordnung. Das Objekt selbst wird dadurch nicht verändert, d.h. der MQL-Compiler hat nur eine unnötige Einschränkung, das ist alles.
Spekulieren Sie also nicht und suchen Sie nicht nach einer geheimen Bedeutung, wo es keine gibt, sondern nur nach einem trivialen Compilerfehler.