![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
Hallo @Alain Verleyen,
ich habe die Methode getPrice() geändert, statt CopyClose() verwende ich CopyBuffer(). Das ändert aber nichts am Hauptziel.
Wenn ich also das Schlüsselwort "const" in der Methode getPrice() verwende, erhalte ich die Fehlermeldung: "'CopyBuffer' - keine der Überladungen kann auf den Funktionsaufruf angewendet werden". Ich denke, dies tritt auf, weil CopyBuffer keine const-Methode ist und es nicht möglich ist, eine nicht-konst-Methode innerhalb einer const-Methode aufzurufen.
Offenbar habe ich das Problem gelöst, indem ich den Operator "&" in der Funktion Compare() verwendet habe, um den Wert von "this" zu erhalten:
Schließlich erhielt ich den Wert, den ich erwartet hatte.
Sie können thisObject weglassen und durch "this" im Vergleich ersetzen.
Aber warum verwenden Sie nicht die "Operator" -Funktionalität anstelle einer Funktion "Vergleichen"? Das macht den Code später einfacher zu lesen.
Sie können thisObject weglassen und durch "this" im Vergleich ersetzen.
Aber warum verwenden Sie nicht die "Operator" -Funktionalität anstelle einer Funktion "Vergleichen"? Das macht den Code später einfacher zu lesen.
Weil es sich um eine polymorphe Methode der Basisklasse CObject handelt und diese überschrieben werden muss, um das Sortieren und Suchen in den Collection-Klassen CArrayObj und CList zu implementieren.
Offenbar habe ich das Problem gelöst, indem ich den Operator "&" in der Funktion Compare() verwendet habe, um den Wert von "this" zu erhalten:
Schließlich erhielt ich den Wert, den ich erwartet hatte.
Ich bin mir nicht sicher, was Sie mit dieser Logik zu erreichen hoffen. Normalerweise möchte man nur die gleichen Elemente zum Sortieren und Suchen vergleichen.
Ich bin mir nicht sicher, was Sie mit dieser Logik zu erreichen hoffen. Normalerweise würden Sie nur die gleichen Elemente zum Sortieren und Suchen vergleichen wollen.
Genau, jetzt wird sortiert, vorher konnte ich den Vergleich nicht machen, ich bekam Fehler und Fehler und Fehler. Jetzt funktioniert es.
Dieser Ansatz ist nicht offensichtlich und steht in keinem Dokument, ich musste eine Menge Tests und "Versuch und Irrtum" machen, bis ich das hinbekam. Ich hoffe, andere können sich an der Lösung erfreuen.
Genau, jetzt sortiert es, vorher konnte ich den Vergleich nicht machen, ich bekam Fehlermeldungen und Fehlermeldungen und Fehlermeldungen. Jetzt funktioniert es.
Dieser Ansatz ist nicht offensichtlich und steht in keinem Dokument, ich musste eine Menge Tests und "Versuch und Irrtum" machen, bis ich das hinbekam. Ich hoffe, andere können sich an der Lösung erfreuen.
Ich bin nur neugierig, warum Sie den Operator "&" in der Funktion Compare() benötigten, um den Wert von "this" zu erhalten.
Ich bin nur neugierig, warum Sie den Operator "&" in der Funktion Compare() benötigen, um den Wert von "this" zu erhalten.
Es ist das Äquivalent zur Verwendung von GetPointer(this)
Nun, das beantwortet nicht die Frage nach dem "Warum". Es gab keinen Grund, den Zeiger auf sich selbst preiszugeben.
Nun, das beantwortet nicht die Frage nach dem "Warum". Es gab keinen Grund, den Zeiger auf sich selbst preiszugeben.