Errores, fallos, preguntas - página 2064

 
fxsaber:
Error de lenguaje

Un error en el código del usuario no es un error: falta el método InitIndicators(CIndicator *)

 
A100:

El error en el código de usuario no es un bug: falta el método InitIndicators(CIndicator *)

Falta la letra s, pero el mensaje del compilador es erróneo, así que la SD se ha encargado de arreglarlo.

 
fxsaber:

Los SD han asumido la tarea de arreglarlo.

No se puede arreglar algo que no contiene un error. Busque en el archivo <Indicator.mqh> - habrá clase CIndicator sin la letra s
 
A100:
No se puede arreglar algo que no contiene un error. Busque en el archivo <Indicator.mqh> - habrá clase CIndicator sin la letra s

Escriba al SR al respecto. Afirman (no yo) que hay un error y que se corregirá.

 
fxsaber:

Escriba al SR al respecto. Afirman (no yo) que hay un error y que se arreglará.

El fallo lo has dicho tú originalmente, ¿puedes explicar en qué consiste? ¿Qué tiene de malo? Este es el 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:

Escriba al SR al respecto. Afirman (no yo) que hay un error y que se corregirá.

Elmensaje de error delcompilador no es del todo correcto.

El compilador trata la sobrecarga del método virtual como una sobrecarga, lo arreglaremos.
 
¿Es este el mensaje correcto del compilador?
int Tmp = 2;
  
if (Tmp % 2) // expression not boolean
 

¿Es un error?

// Добавление элемента в конец произвольного массива
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*'
}
 

¿Cómo puedo saber el nombre de un archivo a partir de su mango?

 
¿Limitación del lenguaje o de la sintaxis?
struct A
{
  int i;
};

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