Fehler, Irrtümer, Fragen - Seite 1032

 
stringo:
Was meinten Sie übrigens, als Sie versuchten, die Linksverschiebung durch 35 zu organisieren (das ist die Zahl, in die die buchstäbliche "5" umgerechnet wird)?
Das Beispiel wurde so weit wie möglich vereinfacht. Das Ziel war es, den Betreiber zu überlasten. Es bleibt also die explizite Transformation
 
A100:
Dieses Beispiel wurde so weit wie möglich vereinfacht. Es ging ja gerade darum, den Betreiber zu überlasten. Es bleibt also die explizite Transformation.
Danke, dass Sie das Beispiel vereinfacht haben. Solche Vereinfachungen sind sehr praktisch für Parsing-Fehler
 
Eine weitere Ungereimtheit
class A {
public:
        virtual int f() { return ( 1 ); }
};

class B : public A {
public:
        virtual int f() { return ( 2 ); }
};

int g( A& a )
{
        return ( a.f() );
}

void OnStart()
{
        B b;
        Print( g( b ) ); // результат: 1
}
Eine ähnliche Konstruktion in C++ liefert hingegen das Ergebnis: 2, was logisch ist, weil das Objekt B und nicht A ist.
 
A100:
Eine weitere InkonsistenzWährend eine ähnliche Konstruktion in C++ das Ergebnis 2 liefert, was logisch ist, weil das Objekt genau B und nicht A ist
Ja, es sieht nach einem Fehler aus. Danke, dass Sie ihn gefunden haben - wir werden ihn auf jeden Fall überprüfen und beheben.
 
Die Punkte in der Abstimmung werden nicht automatisch übersetzt.
 
MetaDriver:

Wie ist Ihre Situation?

Ich kann Ihre Situation aus einem einfachen Grund nicht nachvollziehen: Ich habe keine :

Ja, der Fehler lag beim Herunterladen der Datei, nicht bei den Puffern. Das scheint sich jetzt geändert zu haben.
 
Al_key:
Ja, es gab einen Fehler beim Herunterladen der Datei, nicht bei den Puffern. Jetzt scheint sie sich weiterentwickelt zu haben.

Eine weitere Frage:

Haben Sie ein Beispiel dafür, wie man einen benutzerdefinierten Indikator auf kleinen Diagrammen ausführt (die, die Objekte haben und über das Hauptdiagramm geworfen werden können)? Ich verwende in MT4 Währungsindizes und es wäre sehr cool, sie in einem kleinen mobilen Fenster von MT5 zu sehen, anstatt die Hälfte des Bildschirms zu verschwenden.

 
Das Signal kopiert das Geschäft, aber das Volumen ist immer 0,01 und das des Verkäufers ist anders. Ich möchte, dass das Volumen mit dem des Verkäufers übereinstimmt.
 
A100:
Dies ist aus der MQL5-Referenz:

Jedes einzelne Zeichen, das in einfache Anführungszeichen oder einen hexadezimalen ASCII-Zeichencode wie "\x10" eingeschlossen ist, ist eine Zeichenkonstante und hat den Typ ushort.

Es stellt sich dann die Frage, warum der Compiler nicht zwischen ushort und int unterscheiden kann - ohne dies explizit anzugeben?
Ich habe den Grund gefunden, es stellt sich heraus, dass der Compiler ein einzelnes Zeichen in Anführungszeichen, z.B. '5' nicht als kurz, sondern als kurz betrachtet, wie das Beispiel bestätigt:
class A {
public:
        int operator<<( ushort ch ) { return ( 1 ); }
        int operator<<( short  ch ) { return ( 2 ); }
        int operator<<( int   ch ) { return ( 3 ); }

        int f( ushort ch ) { return ( 4 ); }
        int f( short  ch ) { return ( 5 ); }
        int f( int   ch ) { return ( 6 ); }
};

int h( ushort ch ) { return ( 7 ); }
int h( short  ch ) { return ( 8 ); }
int h( int   ch ) { return ( 9 ); }

void OnStart()
{
        A a;
        Print( a << '5' );  // результат: 2
        Print( a.f( '5' )); // результат: 5
        Print( h( '5' ));   // результат: 8
}

Alles lässt sich kompilieren, funktioniert und muss nicht explizit konvertiert werden.

Dementsprechend stimmt entweder die Beschreibung nicht mit dem Compiler überein, oder der Compiler arbeitet nicht entsprechend der Beschreibung. Ich möchte eine Übereinstimmung.

 

Was kann das sein?

Kritischer Laufzeitfehler 1079902208 in der Funktion OnTick (unbekannter Fehler)

Prüfung 2 Stunden Zeitrahmen

Es lohnt sich, nach verfügbaren Werkzeugen zu suchen.