Hatalar, hatalar, sorular - sayfa 2064

 
fxsaber :
dil hatası

Kullanıcı kodundaki bir hata bir hata değildir: InitIndicators( CIndicator *) yöntemi eksik

 
A100 :

Kullanıcı kodundaki bir hata bir hata değildir: InitIndicators(CIndicator *) yöntemi eksik

s harfi eksik, ancak derleyici mesajı yanlış, bu yüzden SD onu düzeltmeye başladı.

 
fxsaber :

SD düzeltmeyi devraldı.

Hata içermeyen bir şeyi düzeltemezsiniz. <Indicator.mqh> dosyasına bir göz atın - s harfi olmayan bir CIndicator sınıfı olacaktır.
 
A100 :
Hata içermeyen bir şeyi düzeltemezsiniz. <Indicator.mqh> dosyasına bir göz atın - s harfi olmayan bir CIndicator sınıfı olacaktır.

Bunun hakkında SD'ye yazın. (Ben değil) bir hata olduğunu ve düzeltileceğini iddia ediyorlar.

 
fxsaber :

Bunun hakkında SD'ye yazın. (Ben değil) bir hata olduğunu ve düzeltileceğini iddia ediyorlar.

Başlangıçta bunun bir hata olduğunu belirttiniz - bunun ne olduğunu açıklayabilir misiniz? Sorun nedir? İşte basitleştirilmiş kod:

 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 :

Bunun hakkında SD'ye yazın. (Ben değil) bir hata olduğunu ve düzeltileceğini iddia ediyorlar.

Derleyici hata mesajı tamamen doğru değil.

Derleyici, sanal yöntem geçersiz kılmayı aşırı yükleme olarak değerlendirir, bunu düzelteceğiz.
 
Bu doğru derleyici mesajı mı?
 int Tmp = 2 ;
  
if (Tmp % 2 ) // expression not boolean
 

Bu bir hata mı?

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

Bir dosyanın adını tutamacından nasıl öğrenebilirim?

 
Dil veya sözdizimi sınırlaması?
 struct A
{
   int i;
};

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