Errori, bug, domande - pagina 2872

 
A100:

Naturalmente è colpa mia, non leggo la documentazione e l'ho inventato io.


Sì, me lo ricordo bene, per questo ti ho fatto una domanda.
È solo che la documentazione non descrive l'uso ditypename() in tale sintassi, come è descritto per sizeof()
Nella documentazione per i template c'è solo un esempio di uso in tale sintassi.
Così ho pensato che anche (typename)
sarebbe stato permesso
Ma no, il mio errore.Grazie per questa conversazione così sensibile. Ci siamo capiti e abbiamo capito tutto.

 
A100:
E comunque ho imbrogliato il sistema.

Doppio typename

Risultato: stringa

Quindi questa è una prova diretta, non indiretta.

Dubito che typename nei template abbia qualcosa a che fare con typename che restituisce il tipo.

Poiché i template mql non hanno valori come parametri, ma solo tipi, la parola chiave typename nei template è ridondante.

E il secondo typename è qualcosa come una macro, quindi il doppio typename è un problema.

 
TheXpert:

Il verde è superfluo, ma ci sono ancora due gialli e sono dello stesso contesto

template<typename T>
T f( T ) { return typename(T); }
void OnStart()
{
        Print(f(typename('+'))); //(1) нормально
}

quindi (1) è equivalente a (2)

        Print(typename(typename('+'))); //(2) Error: 'typename' - unexpected token
 
A100:

Quello verde è superfluo, ma ci sono ancora due gialli

Sono d'accordo, stupido.
 

Buona giornata!




è normale? )

e volevo solo eseguire l'EA su uno dei 5 di oggi

 
Nikolai Karetnikov:

Buona giornata!




è normale? )

e volevo solo eseguire l'EA su uno dei 5 di oggi

Tutto è corretto. Non c'è nessun errore. Dovete solo leggere la guida.
 

Quando si inserisce un valore di parametro di ingresso EA nel Terminale/Tester, l'azione del tasto ESC è equiparata a ENTER. Questo comportamento è corretto?


Ora, se il valore viene accidentalmente sovrascritto durante l'inserimento, non è possibile annullare l'inserimento e il valore precedente può essere perso.

 

ME a volte va in crash (da diversi mesi ormai) quando si preme ALT+LEFT più volte.

Le schede dei file aperti prima del crash non vengono salvate.

 
Errore di compilazione:
#define \ //Error: '\' - illegal escape sequence
LENGHT 100
 
Errore di compilazione:
typedef void (*f)();
typedef void (*g)();
void h( g f ) { f(); } //Error: '(' - name expected