Erros, bugs, perguntas - página 2064

 
fxsaber:
Insecto linguístico

Um erro no código do utilizador não é um erro: falta o método InitIndicators(CIndicator *)

 
A100:

O erro no código do utilizador não é um erro: falta o método InitIndicators(CIndicator *)

Falta a letra s, mas a mensagem do compilador está errada, pelo que o SD levou para a sua correcção.

 
fxsaber:

Os SDs assumiram a tarefa de o fixar.

Não se pode corrigir algo que não contenha um erro. Ver no ficheiro <Indicator.mqh> - haverá a classe CIndicator sem letras s
 
A100:
Não se pode corrigir algo que não contenha um erro. Ver no ficheiro <Indicator.mqh> - haverá a classe CIndicator sem letras s

Escreva ao RS sobre o assunto. Eles alegam (não eu) que existe um erro e que este será corrigido.

 
fxsaber:

Escreva ao RS sobre o assunto. Eles afirmam (não eu) que existe um bug e que este será corrigido.

Inicialmente indicou o erro - pode explicar o que é? O que é que tem de errado? Aqui está o código simplificado:

class A1 {}; //Indicators
class A2 {}; //Indicator
class BB {
public:
    void f( A1 * ) {}
};
class B : public BB {
public:
    void f( A1 * ) {}
};
void OnStart()
{
    A2* a;
    B b;   
    b.f( a ); //error: 'f' - no one of the overloads can be applied to the function call
}
 
fxsaber:

Escreva ao RS sobre o assunto. Eles afirmam (não eu) que existe um erro e que este será corrigido.

Amensagem de errodo compilador não é totalmente correcta.

O compilador trata a substituição do método virtual como uma sobrecarga, nós vamos corrigi-la.
 
É esta a mensagem correcta do compilador?
int Tmp = 2;
  
if (Tmp % 2) // expression not boolean
 

É um insecto?

// Добавление элемента в конец произвольного массива
template <typename T>
void AddArrayElement( T &Array[], T Value, const int Reserve = 0 )
{
  const int Size = ArraySize(Array);
  
  ArrayResize(Array, Size + 1, Reserve);
  
  Array[Size] = Value;
}

class A {};
class B : public A {};

void OnStart()
{
  A* Array[];
  
  A* a = new B; // no problem
  AddArrayElement(Array, (A*)(new B)); // no problem
  
  AddArrayElement(Array, new B); // template parameter ambiguous, could be 'A*' or 'B*'
}
 

Como posso saber o nome de um ficheiro a partir da sua pega?

 
Limitação da linguagem ou sintaxe?
struct A
{
  int i;
};

struct B
{
  const A a;
  
  B() : a({0}) // 'a' - constructor not defined
  {
    const A b = {0}; // no problem
  }  
};
Razão: