Errori, bug, domande - pagina 2762

 
Igor Makanu:

controllato:

OK, funziona senza alcun avvertimento del compilatore

Grazie

Riderai, ma anche questo funziona senza un avvertimento

uchar c[16];
int ini2=0xFFFF;
ArrayInitialize(c, (uchar)ini2);
 
Aleksey Mavrin:

Riderai, ma anche questo funziona senza avvertimenti

Riderai anche tu, ma è il modo per UB e il modo per ottenere il difficile bug sulle prossime build :-)

int foo=-1;

uchar bar=(uchar)foo; // чему должен быть равен bar ?

 
Igor Makanu:

controllato:

OK, funziona senza alcun avvertimento del compilatore

Grazie

Perché la chiamata ArrayInitialize è necessaria in questo caso? Perché non scrivere semplicemente uchar uc[16] = {0xFF}; ?

ArrayInitialize ha senso per gli array distribuiti dinamicamente, mentre qui la dimensione è presumibilmente nota al momento della descrizione.

 
Aleksey Mavrin:

Riderai, ma anche questo funziona senza avvertimenti

non è divertente, non è un'inizializzazione corretta, che forse non capite perché avete fatto

è chiaro che il byte più significativo sarà tagliato quando si esegue il casting in uchar


Stanislav Korotky:

Perché ho bisogno della chiamata ArrayInitialize in questo caso? Perché non scrivere semplicemente uchar uc[16] = {0xFF}; ?

ArrayInitialize ha senso per gli array distribuiti dinamicamente e qui la dimensione è presumibilmente nota al momento della descrizione.

non funziona

Dismettetelo, il primo elemento sarà 255 e il resto 0, 0, 0, 0, ...

 
Igor Makanu:

OK, funziona senza alcun avvertimento del compilatore

senza un ghosting è normalmente così

ArrayInitialize(uc, '\xFF');
UPD no, stesso avvertimento, tale letterale è di tipo ushort
 
Ancora una volta, alla pari...
void OnStart(){
   uchar uc[16];
   ArrayInitialize (uc, -1);
   ArrayPrint(uc);  // 255 255 255 255 255 ...
}
 
Sergey Dzyublik :
Ancora una volta, a parità di condizioni...
Qual è il problema?
 
Sergey Dzyublik:
Ancora una volta sul posto...

Sono totalmente confuso )

Avverte sulle costanti da 128 e 0xFF, ma non sulle variabili int con gli stessi valori.

Inoltre, non avverte nemmeno della costante -1 int. C'è una logica in questo?

s.s. Immagino che sia comprensibile con -1, si riduce a qualsiasi valore non firmato per max secondo le regole.
 
Andrei Trukhanovich:

senza un fantasma come quello.

UPD no, anche un avvertimento, tale letterale è di tipo ushort
'\xFF'

Wow... in 4 (è aperto all'occasione) rotoli.

void OnStart()
  {
ushort foo='\xFF';

  }

PS/ quando all'occasione, chiunque abbia un sito web vicino a voi, dategli uno schiaffo.

 
Nella build 2460 e 2470 quando si cancellano tutti i trade e si disabilita l'auto-refresh e si apre un nuovo ordine riappaiono tutti prima che questo non accadesse e parte degli advisor e degli indicatori scrive err 400 e err 401 anche se si compilano senza errori ma non vogliono funzionare.....