Fehler, Irrtümer, Fragen - Seite 1185

 
A100:

Die ausschließliche Verwendung von (*a) für den Verweis auf Mitgliedsfunktionen bringt keine eindeutigen Vorteile, sondern führt dazu, dass eine einfache und eindeutige Mehrfachanwendung von Operatoren nicht möglich ist.

Versuchen Sie, ihn unter Berücksichtigung Ihres Vorschlags neu zu schreiben

Sie können nicht das Objekt selbst anstelle des Zeigers verwenden, da der Operator <<(...) nur einen Zeiger auf das Objekt zurückgeben kann.

Sie müssen mich missverstanden haben. Ich habe nicht davon gesprochen, die aktuelle Implementierung zu deaktivieren. Ich habe darum gebeten, es zusätzlich zu ermöglichen, eine Referenz oder einen Zeiger auf ein Objekt zu nehmen, damit man nicht von den Launen des Compilers abhängig ist.Und ich entscheide von Fall zu Fall, was zu tun ist. Wenn ich ein superzuverlässiges Programm brauche, kann ich es einfach so machen, wie Sie es beschrieben haben. Ja, es ist kompliziert. Aber wenn Metaquotes plötzlich eine spezielle Aktion des << Operators für Zeiger einführen, werden wir uns nicht davor fürchten.

 
meat:

Ich habe nicht gesagt, dass man die aktuelle Implementierung verbieten soll, sondern ich habe darum gebeten, eine zusätzliche Möglichkeit zu schaffen, eine Referenz oder einen Zeiger auf ein Objekt zu nehmen, um nicht von den Launen des Compilers abhängig zu sein.

Wenn (b) ein Objekt ist, dann ist die zusätzliche Funktion (&b) neben dem bestehenden GetPointer( b ) klar - sie bringt die Syntax näher an C++.

Wenn (a) ein Zeiger ist, stellt das zusätzliche Merkmal (*a) zusätzlich zum bestehenden (a) wahrscheinlich einen vernünftigen Kompromiss dar

class A {
        bool operator==(A *);
        A *operator<<(A *);
        A *operator>>(A *);
};

void f()
{
        A *a = new A();
        if (  a ==  a ); //сравнение указателей
        if ( *a == *a ); //вызов operator==(A *)
        a << a >> a;     //вызов operator<<(A *) и operator>>(A *)
        *a << *a;        //вызов operator<<(A *)
}
Zum einen wird ein Widerspruch beseitigt, zum anderen wird die bestehende Ordnung nicht durchbrochen.
 

Der Compiler erlaubt gleichnamige Variablen in Parametern und Funktionskörpern innerhalb desselben Bereichs

int f( int a )
{
        int a = 10;
        return ( a );
}

void OnStart()
{
        Print( f( 5 )); //Результат: 10, а должен был - выдать ошибку при компиляции
}
Es wird zwar eine Warnung erzeugt, aber das reicht bei einem so schwer zu findenden Fehler (in einem umfangreichen Code) nicht aus. Zumindest der C++-Compiler erzeugt in diesem Fall den gleichen Fehler
 

Vielleicht ist die Konsequenz des vorherigen Fehlers, dass dieses Konstrukt

class A {
public:
        A( int a ) {}
};

void g( int a ) { Print( a ); }

int f( int a )
{
        A a( 15 );
        g( uint( a ));
        return ( 8 );
}

void OnStart()
{
        Print( f( 5 ));
}
Verursacht Ausführungsfehler: Ungültige EX5-Datei (8)
 
Ich bin auf ein Problem mit der Funktion"MarketBookGet" gestoßen. Sie ist nicht stabil, d.h. sie kann ohne Probleme funktionieren, oder sie kann überhaupt nicht funktionieren, d.h. sie liefert false.
Wer hat sich damit auseinandergesetzt? Wie wird es gelöst und was ist das Problem? Otkrytie Makler.
 
Wenn der Preis des schwebenden Auftrags per Drag'n'Drop auf ein neues Niveau verschoben wird, ändert sich auch der SL/TP. Gibt es eine Möglichkeit, diese Funktion zu deaktivieren? Sie sollten SL/TP nicht immer synchron mit dem Kurs bewegen.
 
marketeer:
Wenn der Preis einer schwebenden Order durch Drag'n'Drop auf ein neues Niveau verschoben wird, ändert sich SL/TP zusammen mit ihr. Kann dies deaktiviert werden? Es ist nicht immer notwendig, SL/TP synchron mit dem Preis zu bewegen.

Wie sehen Sie das? Ich sehe das so:

Wenn Sie die Strg-Taste gedrückt halten, wird der schwebende Auftrag zusammen mit SL/TP verschoben. Wenn Sie die Strg-Taste nicht drücken, bewegt sie sich so, wie sie jetzt ist.

Beachten Sie auch, dass Sie in den Terminaleinstellungen die Verwaltung der Handelsstufen nur bei gedrückter Alt-Taste einstellen können. Dann sollten Sie Strg+Alt drücken, um die oben beschriebene Interaktion durchzuführen.

 
tol64:

Wie sehen Sie das? Ich sehe das so:

Wenn Sie die Strg-Taste gedrückt halten, wird der schwebende Auftrag zusammen mit SL/TP verschoben. Wenn Sie die Strg-Taste nicht drücken, bewegt sie sich so, wie sie jetzt ist.

Beachten Sie auch, dass Sie in den Terminaleinstellungen die Verwaltung der Handelsstufen nur bei gedrückter Alt-Taste einstellen können. Für die oben beschriebene Interaktion drücken Sie dann Strg+Alt.

Steht das in der Dokumentation? Ich habe über Alt gelesen und benutze es, aber nicht über Strg.
 
marketeer:
Steht das in der Dokumentation? Ich habe über Alt gelesen und benutze es, aber nicht über Strg.
Das ist meine Vorstellung davon, wie es sein könnte. Das ist eine der Optionen. Sie könnten dies den Entwicklern des Service Desk vorschlagen. Sie können es tun. ))
 
marketeer:
Wenn der Preis des schwebenden Auftrags per Drag'n'Drop auf ein neues Niveau verschoben wird, ändert sich auch der SL/TP. Gibt es eine Möglichkeit, diese Funktion zu deaktivieren? SL/TP sollten nicht immer synchron mit dem Preis bewegt werden.
Wenn es deaktiviert werden kann, ist es unklar, was wir tun werden, wenn der Preis bewegt und kreuzt festen SL und / oder TP
Grund der Beschwerde: