Fehler, Irrtümer, Fragen - Seite 1965
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
Ganz genau! Jetzt kann ich f alle möglichen Funktionen und Variablen gleichzeitig aufrufen. Bei solchen Zweideutigkeiten muss ein gewisser gesunder Menschenverstand w alten, um nicht versehentlich Fehler zu verursachen. Meiner Meinung nach ist es logisch, eine leere Zeichenkette an typename f auszugeben, anstatt Probleme zu verursachen, wenn man versehentlich ein anderes f aufnimmt und definiert.
Suchen Sie nicht überall so stur nach dem gesunden Menschenverstand, vor allem nicht bei den Wanzen. Wenn man Ihnen zuhört, ist jeder Fehler in MQL überhaupt kein Fehler, sondern eine Funktion, die von den klugen Entwicklern eingebaut wurde ))
Wie bereits erwähnt, sollten Sie im Zweifelsfall zunächst eine Prüfung in C++ durchführen und dann eine Lösung finden.
Was Mehrdeutigkeiten betrifft, so sollten sie einen Compilerfehler verursachen und keine Probleme verursachen. In der Probe A100 war alles klar und eindeutig, daher verstehe ich nicht ganz, was Sie meinen. Wenn man eine Funktion überladen muss, überlädt man sie und behebt die Kompilierungsfehler bei Zweideutigkeiten, und das war's.
Wie initialisiere ich ein statisches Mitglied einer Vorlagenklasse in MQL?
Wie initialisiere ich ein statisches Mitglied einer Vorlagenklasse in MQL?
Wie initialisiere ich ein statisches Mitglied einer Vorlagenklasse in MQL?
A100:
Im Allgemeinen entspricht diese Methode natürlich nicht C++, aber sie funktioniert in MQL.
Ich hatte ein ähnliches Problem mit einer Methode außerhalb der Klasse:
Dank Ihnen haben wir die Lösung gefunden:
Auch das ist natürlich falsch, denn es bedeutet die Definition einer Template-Methode, nicht einer Methode einer Template-Klasse. Und wenn eine Klasse beides enthält, gibt es eine MehrdeutigkeitIch hatte ein ähnliches Problem, als ich eine Methode außerhalb des Unterrichts anwenden wollte:
Das ist viel bequemer. Die einzige Einschränkung ist, dass Sie keine andere Klasse (wie im Beispiel) dazwischen haben können
Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests
Fehler, Irrtümer, Fragen
A100, 2016.05.19 23:26
Kompilierungsfehler
weil es bedeutet, dass eine Schablonenmethode und nicht eine Methode einer Schablonenklasse definiert wird. Und wenn die Klasse beides enthält, gibt es eine Mehrdeutigkeit
Das wird nicht der Fall sein, denn es wurde alles schon vor uns erdacht (c). Sie müssen die Template-Zeile zweimal wiederholen (die obere Zeile bezieht sich auf die Klasse, die untere auf die Methode)
Mann, das sieht ja echt beschissen aus.
A100:
So ist es viel bequemer.
Ja, nun, <T> nicht einfügen zu müssen, ist eine große Erleichterung).
Ja, ein <T> nicht einfügen zu müssen, ist eine große Erleichterung).
Ich hatte ein ähnliches Problem, als ich eine Methode außerhalb des Unterrichts anwenden wollte:
Das ist natürlich falsch, denn es bedeutet, dass eine Schablonenmethode und nicht eine Methode einer Schablonenklasse definiert wird. Und wenn die Klasse beides enthält, kommt es zu Mehrdeutigkeiten.
Mir ist aufgefallen, dass Methoden oft außerhalb der Klasse platziert werden, aber warum? Ich habe mir die SB angesehen, also "kleine" Methoden werden in einer Zeile auf einmal definiert, "lange" Methoden werden außerhalb der Klasse definiert. Es gibt keinen Wahrnehmungskomfort, denn ALT+G bietet in der externen Definition nicht einen, sondern zwei Übergangspunkte. Und wenn es Überlastungen gibt, dann jeweils ein Vielfaches von zwei. Und ALT+M zeigt bereits alles auf einmal an.
Vielleicht ist das eine Art Tribut an die Klarheit der Schnittstellendefinition, aber bis jetzt bin ich noch nicht dazu gekommen.