Errori, bug, domande - pagina 1434

 

Errore di compilazione:'<' - template mismatch

template<typename T>
class A {
        T t;
};
class B {
                        B() : a( new A<int> ) {} //Error: <' - template mismatch
        A<int> * const a;
};
 
A100:

Errore di compilazione:'<' - template mismatch

Grazie.
 

Non si può specificare il nome completo per costruttore e distruttore all'interno di una dichiarazione, mentre si può per i metodi (e perché i primi sono peggiori?)

class A {
        void A::f() {}     //нормально
               A::A() {}  //Error: '::' - name expected
        virtual A::~A() {} //Error: '::' - name expected
};
Perché è necessario? - è risultato essere l'unico modo per separare la dichiarazione e l'implementazione nei template.
 

Fate qualcosa per la finestra di chiusura degli ordini.
I numeri d'ordine non sono completamente visibili. Quando si cambia la larghezza di una colonna, questa non è fissa e si restringe di nuovo. E la finestra stessa non può essere allungata.


 

Impossibile emettere la quinta cifra con SetLevelValue()

//+------------------------------------------------------------------+
//|                                               Ind_TickTest01.mq4 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#property indicator_separate_window
#property indicator_buffers 2
//-----
double   Buffer0[];
double   Buffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   IndicatorSetInteger(INDICATOR_DIGITS,8);
   SetIndexBuffer(0,Buffer0);
   SetIndexBuffer(1,Buffer1);
//-----
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   IndicatorShortName("Ind Bid NO 5-ZNAK!!! >>"+DoubleToString(Bid,_Digits));
   Buffer0[0]=Bid-0.00015;
   Buffer1[0]=Bid+0.00015;
   SetLevelValue(0,Bid-0.0001);
   SetLevelValue(1,Bid-0.00005);
   SetLevelValue(2,Bid);
   SetLevelValue(3,Bid+0.00005);
   SetLevelValue(4,Bid+0.0001);
   return(rates_total);
  }
//+------------------------------------------------------------------+

Risultato:

NO5-Znak

 
IndicatoreCifre. Non so come si chiama al momento. Credo che qualcuno me lo dirà.
 
Комбинатор:
IndicatoreCifre. Ora non so come si chiama. Credo che qualcuno me lo dirà.

Deve essere così ;)

IndicatorSetInteger(INDICATOR_DIGITS,Digits());
 
Artyom Trishkin:

Deve essere così ;)

Provato - non aiuta.

Nessuna quinta cifra

//+------------------------------------------------------------------+
//|                                               Ind_TickTest01.mq4 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#property indicator_separate_window
#property indicator_buffers 2
//----- indicator_levelN
double   Buffer0[];
double   Buffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   IndicatorSetInteger(INDICATOR_DIGITS,5);
   SetIndexBuffer(0,Buffer0);
   SetIndexBuffer(1,Buffer1);
//-----
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   IndicatorShortName("Ind Bid NO 5-ZNAK!!! >>"+DoubleToString(Bid,_Digits));
   Buffer0[0]=Bid-0.00015;
   Buffer1[0]=Bid+0.00015;
   SetLevelValue(0,Bid-0.0001);
   SetLevelValue(1,Bid-0.000075);
   SetLevelValue(2,Bid-0.00005);
   SetLevelValue(3,Bid-0.000025);
   SetLevelValue(4,Bid);
   SetLevelValue(5,Bid+0.000025);
   SetLevelValue(6,Bid+0.00005);
   SetLevelValue(7,Bid+0.000075);
   SetLevelValue(8,Bid+0.0001);
   return(rates_total);
  }
//+------------------------------------------------------------------+
 
Yury Kirillov:

Provato - non funziona.

Risposta SD:

Squadra di supporto2015.11.20 14:33

In quattro, i livelli sono emessi con una precisione di 4 cifre.

Nessuno ci faceva caso. Ecco perché questo posto non è stato toccato fino ad ora.

Facciamolo uscire con laprecisione dell'indicatore Digits

 

Errore di compilazione

struct A {
        int a1;
        int a2;
};
struct B {
        static A a;
        static int b1;
        static int b2;
        static int b3;
};
A B::a = { 2, 3 };
int B::b1 = 1;
int B::b2 = B::b1;   //нормально
int B::b3 = B::a.a2; //'a2' - non-static members and methods cannot be used
È sufficiente che B::a sia statico