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
Wie kann man ein Array aus einer Funktion zurückgeben? Ich habe bisher einen Workaround gefunden, aber offensichtlich muss es einen Weg geben, es "frontal" zu tun )).
Es gibt keine Möglichkeit, es direkt zu tun... außer für einen Zeiger auf das Array. Zum Beispiel:
CArrayDouble *Function(void);Nicht frontal, aber ein ziemlich standardmäßiger Ansatz, wie dieser, in diesem Abschnitt:
Im Allgemeinen ist das zurückgegebene Array ein Parameter-Verweis...Ja, danke. Ich habe versucht, einfach sofort
return *x; aus Gewohnheit, wie in C++ ))
anstelle von
return GetPointer(x)
habe es herausgefunden ))
Neuer Artikel MQL5 Programmiergrundlagen: Arrays ist veröffentlicht:
Autor: Dmitry Fedoseev
1 Frage:
Der Compiler verbietet eine solche Konstruktion. Warum eigentlich?
double qwerty(double &q[]);
#import
Ich mache eine DLL und ich möchte einen Array-Zeiger an sie übergeben.
Aber ich kann nicht herausfinden, wie man das macht.
Irgendetwas ist falsch.
Ich brauche etwas analoges zu C++
double qwerty(double *q);
double *q;
q = new doppelt [100];
qwerty(q);
Wie man es in MQL5 macht...
Vielen Dank für Ihren Code es sparte mir einige Zeit zu schreiben. Ich habe versucht, die MQL5 Array-Objekt (double, int etc.) zu verwenden und ich habe nur frustriert. Ich kam zu Ihrem Beitrag und fand Ihren Code, um die Größe der Arrays zu ändern, die awesome danke war. Ich habe Ihren Code geändert, um für jeden Datentyp gerecht zu werden. Versuchen Sie nur nicht, die Contains (Search-Methode) Methode für Objekte zu verwenden, da es nicht funktionieren könnte, da Objekte Referenzen sein könnten, ich bin mir nicht sicher, ich habe das nicht getestet. Ich versuche, C# innerhalb von MQL5 nachzubilden, daher sind die Abkürzungen ähnlich :)
God Bless !!!
Dann können Sie sie wie folgt deklarieren:
und erstellen Sie sie wie:
und im Code verwenden Sie sie wie eine normale Klasse:
Ok, versuchen wir die englische Version von MQL.
Danke für deinen Code-Post. Es hat mir Zeit gespart. Ich habe versucht, die MQL-Arrays zu verwenden und sie waren verwirrend. Ich war dann sehr deprimiert, dass ich noch einmal grundlegende Strukturen schreiben muss, die eigentlich da sein sollten, aber dann fand ich Ihren Code, der mir einige Zeit bei der Suche nach Arrays ersparte und wie man sie dynamisch wachsen lässt. Großartiger Dank.
Ich hoffe, ich kann mich revanchieren! Der folgende Code funktioniert für alle Datentypen. Er funktioniert auch bei Objekten, aber die Methode Contains (search) funktioniert möglicherweise nicht. Ich habe es nur mit den Typen double, int und bool getestet. Bei String könnte es ebenfalls zu Problemen kommen und der Code muss eventuell erweitert werden.
Dann können Sie es für alle Typen, die Sie benötigen, so deklarieren:
Hoffentlich hilft das jemandem