Erreurs, bugs, questions - page 2211

 
pavlick_:

Y a-t-il quelque chose que vous puissiez dire à ce sujet ? Où sont les recherches documentées de noms sans qualificatifs ? De la référence :

---------

Syntaxe

La syntaxe du langage de programmation des stratégies de trading MQL5 est très similaire au langage de programmation C++, à l'exception de certaines caractéristiques

  • il n'y a pas d'arithmétique d'adresse ;
  • il n'y a pas d'opérateur goto ;
  • vous ne pouvez pas déclarer une énumération anonyme;
  • pas d'héritage multiple.

------------

Pas un mot sur la recherche de noms non qualifiés, et il s'agit d'un élément de base. Bon, c'est au propriétaire d'apprendre le langage à partir des posts de Renate, du manque de documentation et de la rétrocompatibilité, mais alors le langage donne l'impression d'être un jouet d'enfant.

Je le soutiens, il est temps d'abandonner l'aide vers les règles du langage, car en essence mql5 est déjà un autre langage de programmation

 
Konstantin:

Je suis d'accord, il est grand temps de passer de l'aide aux règles du langage, car mql5 est essentiellement un langage de programmation différent.

A-t-on dit le contraire quelque part ?

 
Alexey Navoykov:

La classe est-elle vraiment une classe d'espace de nom ?

Oui, vous avez raison, cela fait référence à l'espace de nom. Il existe une clause distincte pour les classes, mais le but est le même :

9.2.3.2  Static data members
[class.static.data]
2. The declaration of a non-inline static data member in its class definition is not a definition and may be of
an incomplete type other than cv void. The definition for a static data member that is not defined inline
in the class definition shall appear in a namespace scope enclosing the member’s class definition. In the
definition at namespace scope, the name of the static data member shall be qualified by its class name using
the :: operator. The initializer expression in the definition of a static data member is in the scope of its class (3.3.7).

[Example:
class process {
static process* run_chain;
static process* running;
};
process* process::running = get_main();
process* process::run_chain = running;

The static data member run_chain of class process is defined in global scope; the notation process::run_chain specifies that the member
run_chain is a member of class process and in the scope of class process. In the static data member definition, the
initializer expression refers to the static data member running of class process. — end example]
 
Alexey Viktorov:

Ai-je dit le contraire quelque part ?

Est-ce que je dis le contraire ? Pourquoi me posez-vous une question ?

 
pavlick_:

Erreur de compilation :

Alerte : 3

Je ne vois pas d'erreur. Je pense que c'est correct.

Tout d'abord, nous attribuons la valeur 5 au membre statique de la structure et la valeur 3 à la variable.

Ensuite, la valeur de la variable est copiée dans le membre statique de la structure.

Il est clair que ce membre statique doit contenir la valeur que nous avons assignée à la variable.

Tout cela me semble très logique.

 
Georgiy Merts:

Je ne vois pas l'erreur. A mon avis, tout est correct.

Il me semble que c'est très logique.

La logique doit être uniforme et non sélective (sinon ce n'est pas de la logique).

Si ici

int a = 1;
struct A {
    void f();
    int a;
};
void A::f()
{
   a = 2; //(*)
}

(*) implique A::a = 2, et non ::a = 2

cela devrait également impliquer S::q = S::z, et non S::q = ::z

 

Je suis désolé. Je ne comprends pas. Alors, tu m'as tué ? Ou l'avez-vous fait ?

Je peux faire pipi dans ce forum ?
 
B0biThec:

Je suis désolé. Je ne comprends pas. Alors, tu m'as tué ? Ou l'avez-vous fait ?

Je peux faire pipi dans ce forum ?

Vous avez été banni pendant 24 heures pour spamming. Si vous continuez à spammer, c'est une semaine d'interdiction, puis un mois, puis votre compte est supprimé, et vous pissez au bon endroit.

 
Artyom Trishkin:

Vous avez été banni pour 24 heures pour spamming. Continuez à spammer pendant une semaine, puis un mois, puis supprimez votre compte, et faites pipi au bon endroit.

de retour de vacances ?

 

Chers développeurs, veuillez clarifier, est-il normal que le compilateur ne donne pas d'avertissement sur la conversion de type dans une telle chaîne ?

const bool barsToStart = Bars( _Symbol, _Period, startTime, timeCurrent );