Errori, bug, domande - pagina 1185

 
A100:

Adottare solo (*a) per riferirsi alle funzioni membro non dà vantaggi evidenti, ma porta invece all'impossibilità di una semplice e chiara applicazione multipla degli operatori.

Prova a riscriverlo tenendo conto del tuo suggerimento

Non potete usare l'oggetto stesso al posto del puntatore perché l'operatore <<(...) può restituire solo un puntatore all'oggetto.

Devi avermi frainteso, non parlavo di disabilitare l'implementazione attuale, ma di rendere possibile anche prendere un riferimento o un puntatore a un oggetto in modo da non dipendere dai capricci del compilatore.E deciderò cosa fare in ogni caso. Se ho bisogno di un programma super-affidabile, posso facilmente farlo nel modo che hai descritto. Sì, è complicato. Ma se i metaquote introducono improvvisamente un'operazione speciale dell'operatore << per i puntatori, non ne avremo paura.

 
meat:

Non ho detto di proibire l'implementazione attuale. Ho chiesto di fare una possibilità aggiuntiva per prendere un riferimento o un puntatore a un oggetto, in modo da non dipendere dai capricci del compilatore.

Se (b) è un oggetto, allora la caratteristica aggiuntiva (&b) in aggiunta all'esistente GetPointer( b ) è chiara - porta la sintassi più vicina al C++.

Se (a) è un puntatore, la caratteristica aggiuntiva (*a) in aggiunta all'esistente (a) dà probabilmente un compromesso ragionevole

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 *)
}
Da un lato si elimina una contraddizione e dall'altro non si disturba l'ordine esistente
 

Il compilatore permette variabili dal nome identico nei parametri e nei corpi delle funzioni all'interno dello stesso ambito

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

void OnStart()
{
        Print( f( 5 )); //Результат: 10, а должен был - выдать ошибку при компиляции
}
Anche se viene generato un avvertimento, non è sufficiente per un errore così difficile da trovare (in un codice grande). Almeno il compilatore C++ genera lo stesso errore nello stesso caso
 

Forse la conseguenza dell'errore precedente è che questo costrutto

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 ));
}
Causa errore di esecuzione: file EX5 non valido (8)
 
Ho riscontrato un problema con la funzione"MarketBookGet". Non è stabile, cioè può funzionare senza problemi, o può non funzionare affatto, cioè restituire false.
Chi l'ha affrontato? Come si risolve e qual è il problema? Broker Otkrytie.
 
Quando il prezzo dell'ordine pendente viene spostato con il drag'n'drop a un nuovo livello, lo SL/TP cambia insieme ad esso. C'è un modo per disabilitarlo? Non dovresti sempre muovere SL/TP in modo sincrono con il prezzo.
 
marketeer:
Quando il prezzo di un ordine pendente viene spostato con il drag'n'drop a un nuovo livello, SL/TP cambia insieme ad esso. Può essere disabilitato? Non è sempre necessario muovere SL/TP in modo sincrono con il prezzo.

Come lo vedi? Io la vedo così:

Se tieni premuto il tasto Ctrl, l'ordine pendente si muove insieme a SL/TP. Se non si preme Ctrl, si muoverà come ora.

Notate anche che nelle impostazioni del terminale, è possibile impostare la gestione dei livelli di trading solo quando si tiene premuto Alt. Poi, dovreste premere Ctrl+Alt per l'interazione descritta sopra.

 
tol64:

Come lo vedi? Io la vedo così:

Se tieni premuto il tasto Ctrl, l'ordine pendente si muove insieme a SL/TP. Se non si preme Ctrl, si muoverà come ora.

Notate anche che nelle impostazioni del terminale, è possibile impostare la gestione dei livelli di trading solo quando si tiene premuto Alt. Poi, per l'interazione descritta sopra, premete Ctrl+Alt.

È nella documentazione? Ho letto di Alt e lo uso, ma non di Ctrl.
 
marketeer:
Questo viene dalla documentazione? Ho letto di Alt e lo uso, non di Ctrl.
È la mia idea di come potrebbe essere. È una delle opzioni. Potresti suggerirlo agli sviluppatori del Service Desk. Possono farlo. ))
 
marketeer:
Quando il prezzo dell'ordine pendente viene spostato con il drag'n'drop a un nuovo livello, lo SL/TP cambia insieme ad esso. C'è un modo per disabilitarlo? Lo SL/TP non dovrebbe sempre essere spostato in modo sincrono con il prezzo.
Se può essere disabilitato, non è chiaro cosa faremo se il prezzo si muove e attraversa SL e/o TP fissi