Fehler, Irrtümer, Fragen - Seite 2895

 
A100:
Ein Kompilierungsfehler:

funktionierte früher, aber Anfang des Jahres wurden die Funktionszeiger abgeschafft. Es scheint, dass Ihr Code in MT4 immer noch funktionieren sollte.

wird es funktionieren:

typedef void (*fn)();
void f() {}
fn g() { return f; }
void OnStart()
{
    fn func = g();
    func();
}

d.h. jetzt müssen Sie eine temporäre Variable verwenden ( jetzt können Sie nicht einmal ein Array von Zeigern verwenden!!!! )

A100:

Hier liegt ein gewisser Widerspruch vor, denn

Worin besteht der prinzipielleUnterschied?

Einer der Admins hat vor langer Zeit geschrieben, wie das Parsing abläuft, zuerst statische Variablen, dann global beschrieben, dann der Körper der Funktion, Parsing von oben nach unten im Text

... aber das ist nicht korrekt ;)

 
Igor Makanu:

d.h. jetzt müssen Sie eine temporäre Variable verwenden ( jetzt können Sie nicht einmal den Zeiger array!!!! verwenden)

Deshalb habe ich es geschrieben, damit die Entwickler auf die vorübergehende

 
A100:

Deshalb habe ich geschrieben, dass die Entwickler, wenn möglich, ohne die temporären

@fxsaber schrieb, sobald sie es gefunden haben, ist wahrscheinlich ein Jahr vergangen, nun, vielleicht wirst du gehört
 
Igor Makanu:

d.h. jetzt müssen Sie eine temporäre Variable verwenden ( jetzt können Sie nicht einmal den Zeiger array!!!! verwenden )

Haben Sie ein Beispiel, das beweist, dass Sie das nicht können?

 
A100:

Haben Sie ein Beispiel, das beweist, dass Sie das nicht können?

schrieb ein Beispiel:

typedef void (*fn)();
void f() {}
fn g() { return f; }
void OnStart()
{
//   fn ptr[10];                                                 //possible use of uninitialized variable 'ptr'
   fn ptr[10] = {0};                                             // OK
   for(int i = ArraySize(ptr) - 1; i >= 0; i--) ptr[i] = g();
   
//   for(int i = ArraySize(ptr) - 1; i >= 0; i--) ptr[i]();     //')' - expression expected
   
   for(int i = ArraySize(ptr) - 1; i >= 0; i--)                  // OK
   {
      fn func = ptr[i];
      func();
   }
}

Ich war überrascht, aus irgendeinem Grund erzeugt es eine Warnung fn ptr[10]; //mögliche Verwendung einer nicht initialisierten Variable 'ptr'

jetzt muss ich herausfinden, wie man Zeiger auf Funktionen initialisiert


war früher in MQL5 möglich: ptr[i]();
 
Igor Makanu:

Sie könnten in MQL5: ptr[i]() vorher verwenden;

Ja... Ich erinnere mich

Forum für Handel, automatisierte Handelssysteme und Strategietests

Wanzen, Wanzen, Fragen

A100, 2020.07.23 02:40

Fehler bei der Kompilierung

typedef void (*fn)();
void OnStart()
{
        fn ff[ 1 ];
        ff[ 0 ](); //Error:: ')' - expression expected
} 

Ich hatte einen Fehler in der letztjährigen Version, es wurde alles kompiliert und funktionierte einwandfrei.

Forum für Handel, automatisierte Handelssysteme und Strategietests

Wanzen, Wanzen, Fragen

A100, 2020.07.23 16:31

Ich habe Build 2085x32 aus dem alten Lager heruntergeladen - es kompiliert alles gut - Sie können es selbst ausprobieren

 
Es handelt sich um einen Kompilierungsfehler:
class EventChartCustom {
      EventChartCustom() {}
};
bool f()
{
    return (EventChartCustom( 0, 0, 0, 0, NULL ) ? true : false); //(1) Error: 'EventChartCustom' - wrong parameters count
}
aber das ist in Ordnung:
bool f()
{
    if (    EventChartCustom( 0, 0, 0, 0, NULL ) ) //(2) нормально
        return (true);
    else
        return (false);
}

Worin besteht der grundlegende Unterschied?

 
Ein Kompilierungsfehler:
class A {
      A() {}
};
void A() {} //(1) Error: 'A' - identifier already used
aber das ist in Ordnung:
void A() {} //(2) нормально
class A {
      A() {}
};

Worin besteht der grundlegende Unterschied?

 
Faustformel vom Marktplatz.
В Продуктах запрещен вызов любых DLL-библиотек, включая системные библиотеки Microsoft Windows.
Hat das Marktprodukt das Recht, seine Funktionalität zu erweitern, wenn der Benutzer die DLL verwenden darf?
 

Ich konnte keine Statistiken auf dem Marktplatz finden. Daher eine Frage an die Verkäufer von plattformübergreifenden Produkten.

Verkaufen sich MT5-Versionen wirklich besser als MT4?