Errori, bug, domande - pagina 1223

 
valeryk:
#1085286 con un problema simile. In ordini multipli, chiaramente non legati a nessuno in particolare.

Già corretto, grazie.

Un aggiornamento sarà disponibile tra pochi minuti.

 
murad:

Già corretto, grazie.

Un aggiornamento sarà disponibile tra pochi minuti.

Sì, funziona,

ma perché l'immagine siscaricacome file e non si apre nel browser come faceva 2 giorni fa? O c'è qualcosa che non va in me?

 
ALXIMIKS:

script standard - "perion_converter_new" carica il kernel al 100%

Questo è normale - il ritardo è incredibile. 723 costruire


Non l'ho visto creare tali problemi.

Ora, nel 725 è lo stesso (non è stato notato nel creare problemi).

Non hai aggiustato il suo codice da solo?


P./S.: Supponendo che questi post possano essere cancellati ora. Dal momento che il forum è su MT5.

 
valeryk:
Mi chiedo se sono l'unico rimasto con un solo inglese nella lista delle localizzazioni dopo aver aggiornato MT5 a 991?
Questa è una beta. Tutto sarà a posto nel rilascio.
 

Questa è una domanda per gli esperti di OOP.

C'è una classe. Ha questo metodo di template:

//+------------------------------------------------------------------+
//| Template for getting the value                                   |
//+------------------------------------------------------------------+
template<typename T>
T CGlobalVar::Value(void)
  {
   return (T)this.m_value;
  }

Il compilatore non si lamenta durante la compilazione del file di definizione.

Poi chiamo questo metodo nello script:

int nRes=gVar1.Value();


Ottengo un errore "could not deduce template argument #0".

 
denkir:

Questa è una domanda per gli esperti di OOP.

C'è una classe. Ha questo metodo di template:

Il compilatore non si lamenta durante la compilazione del file di definizione.

Poi chiamo questo metodo nello script:


Ottengo un errore "could not deduce template argument #0".

Sfortunatamente, in MQL si può tipizzare una funzione solo attraverso i parametri, perché non si può specificare esplicitamente il tipo richiesto, a differenza del C++.
int nRes=gVal1.Value<int>();
Questa limitazione può essere aggirata aggiungendo un parametro falso:
//+------------------------------------------------------------------+
//| Template for getting the value                                   |
//+------------------------------------------------------------------+
template<typename T>
T CGlobalVar::Value(T)
  {
   return (T)this.m_value;
  }

int nRes=gVar1.Value((int)0);
 

Errore di compilazione ##

#define  MACRO( name ) \
class name##P {       \
};
MACRO( cls )
void OnStart() {}

ma per il resto

#define  MACRO( name ) \
class P##name {       \
};
MACRO( cls )
void OnStart() {}
bene. Qual è la differenza?
 

Errore di compilazione astratta : errore di generazione del codice

void OnStart()
{
        Print( (string)NULL ); //code generation error
        Print( (long  )NULL ); //а так - нормально
}
 
Esatto, non puoi portare zero in questo modo. Non è sicuro.
 
L'errore è che il compilatore non specifica dove si verifica(__FILE__, __LINE__) e non c'è una transizione come per la maggior parte degli errori, rendendolo difficile da trovare e risolvere