Bogue de compilation avec le paramètre template = void* - page 16

 
Qui pourrait dire que vous êtes plus talentueux ?)
 
Ilya Malev:

Et puis une question complémentaire : pourquoi ne pas

MASK( t, n )

le tout entre parenthèses ?

Je ne le fais pas, car les parenthèses sont implicites ici.

#define  MASK( t, n )    (-1)

Mais vous n'avez pas cette implication - tout doit être strictement "scientifique".

 
A100:

Bien, alors, une question complémentaire : pourquoi ne pas mettre

des crochets ici ?

Je ne le fais pas, car les parenthèses sont implicites ici.

Mais vous n'avez pas une telle implication - tout doit être strictement "scientifique".

Mon t est un type, n est un nombre spécifique de puissance de deux, le masque sur celui-ci est (1<<(n+1))-1.

#define  TMASK(T,P)   ((((T(1)<<P)-1)<<T(1))+1)

Vous pouvez deviner pourquoi j'ai rendu les choses plus compliquées dans le second cas que dans le premier.

 
Ilya Malev:

J'en conclus donc que vous mettez des parenthèses dans chaque cas particulier. Mais le compilateur ne peut pas faire cela - il a besoin de règles strictes pour générer des avertissements

 
Alexey Navoykov:
Moi, par contre, je n'en ai pas besoin pour comprendre la logique. Il s'avère donc que je suis plus doué ? )

Cela m'a rappelé l'armée et ses phrases d'accroche, un quartier-maître semble avoir prononcé une phrase plutôt intelligente : "chacun a sa propre vérité" - imho, vous avez raison, mais moi aussi !

;)

PS : malheureusement, de nos jours, le talent est mesuré en termes d'argent, rien contre, soyez plus talentueux, mais pas au détriment des autres ;)

 
Igor Makanu:

Actuellement, je voudrais attacher un formulaire VS à une .dll à MT5 d'une manière simple )))). - Je veux envelopper les gestionnaires de clics de boutons dans une classe et les appeler en parcourant un tableau de pointeurs de fonctions de gestionnaires, et je veux avoir dans le code principal de l'EA la possibilité d'écrire les mêmes noms de fonctions que dans VS, c'est-à-dire button2_Click() ....button2_Click()

SZZ : C'est un problèmeEOP))))

Ne continuez pas - si vous le faites et que vous le publiez, combien d'articles/bibliothèques pour la création de panneaux/interfaces graphiques entreront alors dans l'histoire ?

 
A100:

Ne vous éternisez pas ou si vous le faites et que vous le publiez, combien d'articles/librairies pour la création de panneaux/interfaces graphiques passeront à la postérité ?

Hélas, c'est "trop tard pour cela", pendant que j'écrivais ici dans le fil de discussion, j'avais déjà été aidé dans mes réflexions, tout est déjà fait, très compact et tout dans le style de VS

Je ne vais rien poster pendant un long moment, je ne suis pas désolé, mais le temps supplémentaire pour recueillir les crachats des bienfaiteurs... J'en ai eu assez hors ligne également, la pratique a montré qu'il est plus facile de faire comme on dit : ne jamais aider un camarade si on ne vous le demande pas)).

))

 

Je me demande qui sont ces partisans du "pas d'appareil dentaire" ? En pratique, il n'y a pas de code où il n'y a qu'une seule ligne de code sous if ou for. Même s'il n'y a qu'une seule ligne au départ, elle apparaîtra très probablement quelque temps plus tard et nous devrons ajouter des accolades. Au départ, mettre deux accolades ne coûte rien, mais si vous les mettez ensuite, vous devez parcourir le code des yeux pour trouver la fin de la ligne.

Je suppose que ce sont des enseignants. Parce que vous pouvez observer une très bonne connaissance de la langue, en particulier de ces aspects de la langue, qui sont pratiquement de peu d'utilité, avec cette tendance à les harceler sans fin. Lors du cours, vous écrivez quelques lignes de code et vous en discutez pendant une heure et demie. Ici, la question des accolades ne se pose même pas.

Le plus gros bug des accolades manquantes survient lors du retravail et du débogage. Imaginons que nous devions imprimer quelque chose et ajouter une ligne, mais personne ne pense à ce moment-là que la ligne suivante se trouve sous if ou for. Il en va de même pour les modifications - vous trouvez un endroit, ajoutez une ligne et tout est cassé. J'ai rencontré de tels problèmes à plusieurs reprises et pas seulement avec moi-même (je ne l'ai eu qu'une fois et depuis, j'écris immédiatement deux parenthèses). Je recommande donc à tout le monde d'écrire une paire de parenthèses juste après avoir écrit if et for. En outre, il s'agit d'une bonne protection contre les accolades perdues, qui constituent l'erreur la plus difficile à rechercher.

 

Il y a deux autres camps :

1. Les partisans d'un code vertical.

2. Les partisans du code horizontal.

C'est aussi un sujet intéressant.

 
Dmitry Fedoseev:

Il y a deux autres camps :

1. Les partisans d'un code vertical.

2. Les partisans du code horizontal.

C'est aussi un sujet intéressant.

Combiné le sujet principal du sujet inutile () avec vos nouveaux sujets en un seul code :

int sum(int a,int b){return a+b;}
//+------------------------------------------------------------------+
void OnStart()
  {
   Print(sum(3,7));
  }
//+------------------------------------------------------------------+

... Je suis allé chercher du pop-corn...

Raison: