Hatalar, hatalar, sorular - sayfa 2065

 
komik durum
 class B;

class A
{
protected :  
   int i;

public :  
   void operator =( const B* Value )
  {    
     this .i = Value.i;       // 'i' - protected member access error
    
     // А так можно!
     this .i = ((A*)Value).i; // и нет ошибки: cannot convert from const pointer to nonconst pointer    
  }
};

class B : public A {};


Her iki durumda da durumun aynı olacağını düşündüm. Ama hayır!

 
Bu sadece A sınıfı içinde mümkündür. Bana gelince, her şey yolunda.
 

fxsaber :

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

hatırladığım kadarıyla hayır
 
Комбинатор :
Bu sadece A sınıfı içinde mümkündür. Bana gelince, her şey yolunda.

hata

     this .i = Value.i;       // 'i' - protected member access error

zaten düzeltildi, lütfen yeni yapının yayınlanmasını bekleyin.

 

ошибка

zaten düzeltildi, lütfen yeni yapının yayınlanmasını bekleyin.

daha iyi görürler. hata yani hata
 

MetaEditor dosya adına nokta ekler

sıralama:

  • Explorer'da bir Metin Belgesi Test.txt oluşturun
  • MetaEditor'da File\Open ile açın
  • Ardından Dosya\Farklı Kaydet... öğesini seçin.


Sonuç olarak, dosya adı Test2.txt yerine Test2..txt olacaktır.

Not defteri, diğer şeyler eşit olduğundan, dosya adına fazladan nokta eklemiyor
 

fxsaber :

zaten düzeltildi, lütfen yeni yapının yayınlanmasını bekleyin.

Tam olarak nasıl düzeltildiğine bakmanız gerekiyor, çünkü benzer bir durumda, Microsoft derleyicisi bir nedenden dolayı yöntemin uygulanmasını gerektiriyor (bu durumda operatör =) sınıf dışı

https://www.mql5.com/ru/forum/1111/page2001#comment_5679732

https://www.mql5.com/en/forum/1111/page2001#comment_5680465

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2017.08.29
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 

Bu dilin yanlış davranışı gibi görünüyor, çünkü. fırsatları sınırlar

 struct A {};

class B
{
public :
   const A a;
  
  B( const A & in ) : a( in ) // 'a' - constructor not defined
  {
  }
};


Yapı olarak bir const alanı ayarlamam gerekiyor. Kopyalama operatörünün işe yarayacağını düşündüm, ancak sözdizimi benzer olduğu için derleyici bunun yerine bir kurucu istiyor. Ama bu doğru değil.

 
Yanlış hata mesajı
 struct A
{
   const int i;
};

void OnStart ()
{
  A a1, a2;
  
  a1 = a2; // '=' - not allowed for objects with protected members or inheritance
}
 

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Hatalar, hatalar, sorular

fxsaber , 2017.05.19 22:35

TimeTradeServer her türlü saçmalığı döndürebilir. Örneğin, değer TimeCurrent'tan küçüktür. Bu, pratik uygulamasını tamamen geçersiz kılar.

Fikri doğru anlarsam, TimeTradeServer, terminal çalışırken, TimeCurrent'i aldıktan sonra geçen süreyi hesaplamalı ve bu farkı, gelecekteki TimeCurrent değerlerini taklit ederek eklemeliydi.

Şimdi danışmanı başlatıyorum

 #define TOSTRING(A) #A + " = " + ( string )(A) + "\n"

void OnInit ()
{
   EventSetTimer ( 1 );
}

void OnTimer ()
{
   Comment (TOSTRING( TimeTradeServer ()) + TOSTRING( TimeCurrent ()));
}

herhangi bir saçmalık görebilirsin

Tarihlere dikkat edin.


TimeTradeServer yerel saati bu şekilde döndürür. Bir kez daha doğru davranış için düzeltmenizi rica ediyorum.