Fehler, Irrtümer, Fragen - Seite 3101
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
In b3095 führe ich ein Skript aus:
Wenn Sie die Überladung f1(T* & Ptr) entfernen, geben alle 5 Aufrufe void f1<const X>(const X*const) zurück.
Ist dies eine Art Funktion?
Bitte erläutern Sie dies:
Zeile *1* gibt einen Compilerfehler - erwartet.
Aber Zeile *2* kompiliert und funktioniert einwandfrei. Und warum?
Bitte erläutern Sie dies:
Zeile *1* gibt einen Compilerfehler - erwartet.
Aber Zeile *2* kompiliert und funktioniert einwandfrei. Und warum?
Sie müssen einen klaren Widerspruch aufzeigen (dass Sie den Konstantenwert geändert haben):
Und Sie schlagen vor, dass sowohl erfahrene Benutzer als auch Entwickler raten solltenWertänderung
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Merkmale der Sprache mql5, Feinheiten und Tricks
Meine Idee ist es, mql5 als Forex-Handelssystem zu verwenden, und ich würde es gerne in meiner eigenen Praxis einsetzen.
Ist es möglich, die Felder eines const-Objektseiner Klasse zu ändern oder seine Nicht-const-Methoden aufzurufen? -Sie können!Ich selbst mag diesen Chip nicht. Ich dachte, ich sei gegen unbefugten Zugriff versichert. Trotzdem schade! Das funktioniert natürlich nicht mit konstanten Strukturen. Behalten Sie dieses Schlupfloch also im Hinterkopf.
Sie müssen einen klaren Widerspruch aufzeigen (dass Sie den Wert von const geändert haben):
Und Sie schlagen vor, dass sowohl erfahrene Benutzer als auch Entwickler ratenJa. Aber in Ihrem Beispiel haben Sie eine explizite (über eine Funktion) Umwandlung von const T in T - also ein "legalisiertes" Schlupfloch.
((A*)(&a)).i = 1;
ähnlich - (const A*) in A* umwandeln.
((A)a).i = 1;
In Ihrem Beispiel wird const explizit in non const umgewandelt, und schon ist es sauber