Erreurs, bugs, questions - page 1979

 
A100:
Et avez-vous essayé de compiler cet exemple en C++ - ou s'agit-il simplement d'un raisonnement théorique général ?

Avez-vous essayé de suivre le lien ? Vous pouvez non seulement y compiler, mais aussi exécuter l'exemple avec succès.

 
Stanislav Korotky:

Avez-vous essayé de suivre le lien ? Vous pouvez non seulement y compiler, mais aussi exécuter l'exemple avec succès.

Pourquoi ce code ne fonctionne-t-il pas ?

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);
  }


Je ne vois pas de différence entre (1) et (2).

 
Stanislav Korotky:

Avez-vous essayé de suivre le lien ? Vous pouvez non seulement y compiler, mais aussi exécuter l'exemple avec succès.

Nous discutons du code spécifique donné ci-dessus. Si vous ne l'avez pas essayé, écrivez simplement
 
Andrey Barinov:

Pourquoi alors ce code ne fonctionne-t-il pas ?

Maintenant, le deuxième théoricien va vous donner une autre règle, non moins vague que la première

Je propose de simplifier le code à l'extrême

 
A100:
Le code spécifique ci-dessus est en cours de discussion. Si vous ne l'avez pas essayé, écrivez-le ainsi

C'est le code ci-dessus qui a été modifié pour la syntaxe C++ - en fait, il a été laissé à l'état brut dans le contexte de la discussion sur l'accès des membres privés - et ce code fonctionne. C'était la réponse à la question de savoir pourquoi cela fonctionne dans MQL. De quoi d'autre avez-vous besoin ? Que veux-tu que j'essaie d'autre ? N'écrivez pas de bêtises vous-même.

 
Stanislav Korotky:

C'est le code ci-dessus qui a été modifié pour la syntaxe C++ - en fait, il a été laissé à l'identique dans le contexte de la discussion sur l'accès des membres privés - et ce code fonctionne. C'était la réponse à la question de savoir pourquoi cela fonctionne dans MQL. De quoi d'autre avez-vous besoin ? Que veux-tu que j'essaie d'autre ? N'écrivez pas de bêtises vous-même.

Vous pouvez le poster ici et nous comparerons alors comment vous l'avez réparé (je ne vais pas sur les liens des sites de gauche). Si vous ne savez pas comment communiquer normalement - (je parle de conneries), n'écrivez pas.

 
Andrey Barinov:

Pourquoi alors ce code ne fonctionne-t-il pas ?


Je ne vois pas de différence entre (1) et (2).

Il s'agit d'un bogue MQL. Il fonctionne en C++. Écrivez au service d'assistance.

 
Stanislav Korotky:

Il s'agit d'un bogue MQL. En C++, cela fonctionne. Écrivez au service d'assistance.

Je l'ai. Merci.

C'est juste que c'est intéressant dans le deuxième exemple. cB ne sait rien de m_var et m_func et ils ne lui sont pas accessibles (c'est-à-dire qu'ils ne peuvent pas être appelés depuis cB lui-même), alors qu'ils peuvent être appelés depuis d'autres objets...
 
A100:

Publiez-le ici et comparons ensuite la façon dont vous l'avez modifié (je ne suis pas les liens vers les sites gauchistes). Si vous ne savez pas comment communiquer normalement - (je parle de conneries) n'écrivez pas.

Ne soyez pas impoli. Vous êtes le premier à avoir commencé à communiquer anormalement ici.

L'ensemble de l'Internet est constitué de sites de gauche. Comment pouvez-vous l'utiliser ?

Ce site en particulier et beaucoup d'autres comme lui simplifient considérablement la vie des programmeurs (en leur permettant de tester les snippets, les requêtes http, de vérifier les sites de cartographie, etc.) - la façon de les traiter dépend de chacun - ne voulez pas, n'utilisez pas, mais n'allez pas attaquer les autres à ce sujet.

 
Stanislav Korotky:

Ne soyez pas grossier. Vous êtes le premier à avoir commencé la communication anormale ici.

En demandant la compilation en C++ ? À mon avis, c'est une question de travail normale.