Fehler, Irrtümer, Fragen - Seite 2272
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
Man wird nur erschaffen. Außerdem werden Sie in f nicht in der Lage sein, T zu verwenden.
Außerdem werden Sie in f nicht in der Lage sein, T zu verwenden. Alles in allem ist die Situation für mich offensichtlich.
Außerdem wurde gegen Ihr Verbot, T in f zu verwenden, verstoßen
Wie Sie sehen können, kompiliert es ohne Fehler, und die Tatsache, dass das Ergebnis absurd ist, ist nicht wichtig, solange alles "erklärbar" ist.
Was ist der heilige Sinn dieses Codes, warum hat man ihn überhaupt in die Standardbibliothek gepackt?
Es ist nun nicht mehr möglich, Funktionen zum Schließen von Positionen oder Aufträgen aus der Standardbibliothek in OnDeanite zu verwenden, zum Beispiel mit REASON_REMOVE
Was ist der heilige Sinn dieses Codes, warum hat man ihn überhaupt in die Standardbibliothek gepackt?
Jetzt können Sie keine Funktionen zum Schließen von Positionen oder Aufträgen aus der Standardbibliothek in OnDynit verwenden, zum Beispiel mit REASON_REMOVE.
Ja, das ist ein Fehler.
Außerdem habe ich gegen Ihr Verbot verstoßen, T in f zu verwenden.
Wie Sie sehen, kompiliert es ohne Fehler, und die Tatsache, dass das Ergebnis absurd ist, ist nicht wichtig - die Hauptsache ist, dass alles "erklärbar" ist.
Sie verstehen nicht ganz, was Vorlagen sind. Sie sind ähnlich wie Makros, nur mit bestimmten Funktionen.
Hier ist der Code
.
Das liegt daran, dass T eine Einrichtung ist, wie Makros, nur mit bestimmten Einschränkungen. Am Ende wird eine Signatur erstellt. Innerhalb der Funktion weiß niemand von A, das in der Funktion durch T ersetzt wird. Aber Sie definieren dieses A innerhalb, so dass kein weiterer Kompilierungsfehler auftritt. Ich habe MqlTick eingefügt, um zu zeigen, dass dieses A nichts mit anderen Klassen desselben Namens zu tun hat.
Kurz gesagt, die Intraklassen in MQL5 sind außerhalb der übergeordneten Funktion nicht sichtbar. Als T wird nur der Name des Typs als Klasse übergeben. In diesem Fall hat der Name keinen Verweis auf die übergeordnete Funktion.
Das heißt, alles ist ganz logisch erklärbar. Es ist kein Fehler, sondern eine so begrenzte Implementierung.
Vielleicht würde ein C++-Programmierer bei einem Vorstellungsgespräch sagen, dass dies unmöglich ist.
MQL5 ist durchaus möglich.
Sie verstehen nicht ganz, was Muster sind.
ZS Wahrscheinlich wird Ihnen ein C++-Programmierer bei einem Vorstellungsgespräch sagen, dass dies unmöglich ist
Wenn Sie glauben, dass dies in C++ unmöglich ist, bedeutet das, dass nicht ich, sondern Sie nicht verstehen, was Templates sind und wie sie funktionieren... umso mehr, dass man eine schlampige Umsetzung nicht von einer eingeschränkten unterscheiden kann
Wenn Sie glauben, dass so etwas in C++ unmöglich ist, dann liegt das nicht an mir, sondern daran, dass Sie nicht verstehen, was Templates sind und wie sie funktionieren... um so mehr, als man eine schlampige Umsetzung nicht von einer begrenzten unterscheiden kann
Lesen Sie das erste Wort des Satzes, zu dem Sie Ihren Kommentar abgeben. Mein Verständnis von Vorlagen und Makros in MQL5 ist so, dass ich ohne zu versuchen, zu kompilieren, dass Ihre Beispiele nicht in MQL5 kompilieren wird. C++ - Ich weiß es nicht, das verhindert es nicht.
Ich wäre Ihnen dankbar, wenn Sie zeigen könnten, wie C++ auf diesen Code reagiert
Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests
Wanzen, Wanzen, Fragen
fxsaber, 2018.09.03 07:16
ZS Wahrscheinlich wird Ihnen ein C++-Programmierer bei einem Vorstellungsgespräch sagen, dass dies unmöglich ist
Ich würde es begrüßen, wenn Sie mir zeigen könnten, wie C++ auf diesen Code reagiert.
Sie verstehen nicht wirklich, was Vorlagen sind. Und sie sind ähnlich wie Makros, nur mit einigen Tricks.
Ja, dieses Beispiel lässt sich nicht mit den Pluszeichen kompilieren.
aber selbst wenn es kompiliert würde, würde das Ergebnis überraschen, weil der Klassenname einfach "T" wäre.