Hatalar, hatalar, sorular - sayfa 1979

 
Andrey Barinov :
Teşekkür ederim. Belgelerde göremedim. burnunu sokabilir misin?
Bu kuralı kendisi koydu. Belgeler diyor ki:

Buna göre, testfunc()'a erişim yalnızca (ve yalnızca) cA:: -> yöntemlerinden bu durumda cA::test()'den mümkündür.

 
A100 :
Bu örneği C++ ile derlemeyi denediniz mi - yoksa genel teorik akıl yürütme mi?

Bağlantıyı takip etmeyi denediniz mi? Orada sadece derlemekle kalmaz, aynı zamanda örneği başarıyla yürütebilirsiniz.

 
Stanislav Korotky :

Bağlantıyı takip etmeyi denediniz mi? Orada sadece derlemekle kalmaz, aynı zamanda örneği başarıyla yürütürsünüz.

O zaman bu kod neden çalışmıyor?

 class cA;
class cB;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class cA
  {
private :
   int                m_var;
   int                m_func( void ){ return ( this .m_var);}
public :
   void test(cB &b)
     {
       this .m_var= b.m_var;       // (1) 'm_var' - private member access error
       
       this .m_var= b.m_func();   // (2)  => norm
     }
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class cB : public cA
  {
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---
   cA A;
   cB B;

   A.test(&B);
//---
   return ( INIT_SUCCEEDED );
  }


(1) ve (2) arasındaki farkı göremiyorum.

 
Stanislav Korotky :

Bağlantıyı takip etmeyi denediniz mi? Orada sadece derlemekle kalmaz, aynı zamanda örneği başarıyla yürütürsünüz.

Yukarıdaki belirli kod tartışılmaktadır. Denemediyseniz yazmanız yeterli.
 
Andrey Barinov :

O zaman bu kod neden çalışmıyor?

Şimdi ikinci teorisyen sizin için başka bir kural formüle edecek - ilkinden daha az belirsiz değil

Kodu sınıra kadar basitleştirmeyi öneriyorum

 
A100 :
Yukarıdaki belirli kod tartışılmaktadır. Denemediyseniz yazmanız yeterli.

C++ sözdizimine uyacak şekilde ayarlanan yukarıdaki koddu - aslında, özel üyelere erişimi tartışma bağlamında bire bir bırakılmıştır - ve bu kod çalışır. MQL'de neden çalıştığı sorusunun cevabı buydu. Başka neye ihtiyacın var? Başka ne denemeliyim? Kendiniz saçma sapan yazmayın.

 
Stanislav Korotky :

C++ sözdizimine uyacak şekilde ayarlanan yukarıdaki koddu - aslında, özel üyelere erişimi tartışma bağlamında bire bir bırakılmıştır - ve bu kod çalışır. MQL'de neden çalıştığı sorusunun cevabı buydu. Başka neye ihtiyacın var? Başka ne denemeliyim? Kendiniz saçma sapan yazmayın.

Buraya yerleştirin ve nasıl düzelttiğinizi karşılaştırın (sol sitelerin bağlantılarını takip etmiyorum). Normal iletişim kurmayı bilmiyorsanız - (saçmalıktan bahsediyorum) yazmayın

 
Andrey Barinov :

O zaman bu kod neden çalışmıyor?


(1) ve (2) arasındaki farkı göremiyorum.

Bu bir MQL hatasıdır. C++'da çalışır . Servis masasına yazın.

 
Stanislav Korotky :

Bu bir MQL hatasıdır. C++'da çalışır . Servis masasına yazın.

Apaçık. Teşekkür ederim.

Sadece ikinci örnekte ilginç. cB, m_var ve m_func hakkında hiçbir şey bilmez ve onlar tarafından kullanılamazlar (yani, cB'nin içinden çağrılmazlar), ancak diğer nesnelerden çağrılabilirler...
 
A100 :

Buraya yerleştirin ve nasıl düzelttiğinizi karşılaştırın (soldaki sitelerin bağlantılarını takip etmiyorum). Normal iletişim kurmayı bilmiyorsanız - (saçmalıktan bahsediyorum) yazmayın

Kaba olma. Anormal bir şekilde konuşmaya başlayan ilk kişi sendin.

İnternetin tamamı solcu sitelerden oluşuyor. O zaman nasıl kullanılır?

Bu belirli site ve benzerleri programcılar için hayatı büyük ölçüde basitleştirir ( snippet'leri , http isteklerini test etmenize, sitelerin görüntüsünü kontrol etmenize vb. izin verir) - herkesin onlara nasıl davrandığı herkesin işidir - istemiyorsanız, yapmayın. kullanmayın, sadece bu konuda başkalarına rastlamayın.