Errori, bug, domande - pagina 2954

 
MetaQuotes:

Si prega di aggiornare alla versione beta 2775.

Questo è stato corretto.

//+------------------------------------------------------------------+
void OnStart()
  {
   struct s_My
     {
      int            a;
      double         b;
      long           c;
     } my1;

   my1.a=33;
   my1.b=44.44;
   my1.c=-55;


   Print(my1.c);
  }


C'è anche questo

 
MetaQuotes:

Si prega di aggiornare alla versione beta 2775.

Questo è stato corretto.

Grazie, mi ha aiutato. Ma il visual tester non può funzionare in questa beta, per sicurezza.

up: non c'è una funzione per il rollback dalla beta alla release? sarebbe utile.

 

Errore di compilazione


Prima ha compilato bene - nessun errore

 
A100:

Errore di compilazione

Prima stava compilando tutto bene - nessun errore

L'ho avuto quando ho finito lo spazio su disco.

 
Vladimir Pastushak:

Questo mi è successo quando ho finito lo spazio su disco.

C'è spazio libero più che sufficiente - dopo diversi tentativi infruttuosi ho salvato il file compilato nella stessa cartella con un nome diverso e tutto era normale. Lo stesso file .ex5 della versione precedente (script) funziona bene - nessun errore

 
Errore di compilazione non corretto
template<typename T>
class A {
public:
        void f( int ) {}      //(1)
};
class B : public A<int> {
public:
        void f( int, int ) {} //(2)
};
void OnStart()
{
        B b;
        b.A<int>::f( 1 ); //Error: 'A' - undeclared identifier
}
 
A100:
Un risultato contraddittorio:

Così sei "andato oltre" ULONG

Print(string(ULONG_MAX));
2021.02.07 23:09:41.060 SFQ_data (Si-3.21,M1)   18446744073709551615
 
prostotrader:

Così sei "andato oltre" ULONG

Sì, ho trovato una regola non ovvia che in caso di overflow viene restituito il valore estremo

 

Se Expert è convertito in Indicatore, dopo la ricompilazione, almeno l'icona standard nella finestra del Navigatore non cambia immediatamente, ma solo dopo aver riavviato il Terminale. Il menu Refresh nello stesso posto - non aiuta

Atteso: immediatamente

 
A100:
Errore di compilazione non corretto
template<typename T>
class A
  {
public:
   void              f(int) {}        //(1)
  };

class B : public A<int>
  {
public:
   void              f(int, int) {}   //(2)
  };

void OnStart()
  {
   B b;
//--- да, жаль, что не работает именно так, как вы написали, но
//если очень надо чтобы заработало без предупреждений компилятора
//касательно вызова скрытого метода, то можно попробовать вот такой
//временный костыль, пока не исправят
   A<int>* a_1=dynamic_cast<A<int>*>(&b);
//--- или вот так
   A<int>*a_2=(A<int>*)&b;
   a_1.f(1);
   a_2.f(1);
  }


//--- либо совсем вот так
template<typename T>
class A
  {
public:
   void              f(int) {}        //(1)
  };
class B : public A<int>
  {
public:
   void              f(int, int) {}   //(2)
   void              f(int x) {A<int>::f(x);}
  };
void OnStart()
  {
   B b;
   b.f('х'/'з');
  }
Motivazione: