Erreurs, bugs, questions - page 2538

 
A100:

.......

"La syntaxe de MQL5 est similaire à celle de C++"

............

Semblable ne veut pas dire similaire....

 
A100:

Je communique avec vous - dans votre langue - en utilisant votre vocabulaire.

C'est ce que je dis.https://www.mql5.com/ru/forum/1111/page2536#comment_12902751

Ok, votre niveau de démagogie est clair.

 
Artyom Trishkin:

La similitude n'est pas une conformité totale. Cependant, il s'agit d'un hors-sujet.

A l'origine, j'ai souligné l'incohérence de la documentation MQL, mais si l'utilisateur ne comprend pas - alors il y a un argument de poids : C++.

 

Pourquoi avons-nous besoin de guerres saintes ici ?

Comme l'a écrit A100

Незначительная и просто обходится, но все равно ошибка при компиляции:

#define  MACRO()    Print( "OK" ) //Error: ')' - unexpected in macro formal parameter list
void OnStart() { MACRO(); }
Je suis conscient de cette différence avec C++ (et je veux éliminer cette différence), mais pour l'instant il y a des tâches plus prioritaires.
 
Ilyas:

Exprimez, en tant que développeur de langage, votre attitude à l'égard de la mention et de la comparaison++ avec mql.

 
Andrei Trukhanovich:

Exprimez en tant que développeur de langage votre attitude à l'égard de la mention et de la comparaison++ avec mql.

Mentionner et comparer ne pose aucun problème.

C'est la constante er... pleurnicher (je ne trouve pas d'autre mot, désolé) que MQL doit correspondre complètement (être un analogue de) C++. Comment ça ?

 

Erreur dans le fichier <WinAPI\WinUser.mqh>

int                                 GetMenuStringW(HANDLE menu,uint uIDItem,string  str,int max,uint flags);

et devrait être

int                                 GetMenuStringW(HANDLE menu,uint uIDItem,ushort &str[],int max,uint flags);
 

J'ai également remarqué que si j'utilise mon"WinUser.mqh" au lieu de l'interface standard<WinAPI\WinUser.mqh>.

alors le fichier .ex5 résultant est 2 fois plus petit. Parmi les différences fondamentales actuelles, je peux souligner l'absence d'enums (mais ils ne sont pas utilisés en réalité).

P.S. J'ai ajouté à mon"WinUser.mqh" des structures inutilisées - la taille du .ex5 s'est rapprochée, mais le fait est que les structures ajoutées ne sont pas réellement utilisées.

 

Igor Makanu:

#define  MACRO(void)    Print( "OK" )

Mieux vaut #define MACRO( dummy ), et il est souhaitable de se protéger contre le passage accidentel d'un argument à la macro. Par exemple :

#define  MACRO(dummy)  Print("OK") dummy
 

À un moment donné, j'ai demandé aux développeurs d'ajouter la possibilité de telles lacunes.

#ifndef  MACRO1
#    define  MACRO2
#    ifdef  MACRO3
#        define  MACRO4
#        ifndef  MACRO5
#        endif
#    endif
#endif

mais ils ont dit que ça ne semblait pas approprié. D'autre part, dans l'exemple suivant :

#ifdef  MACRO
#        endif //(1)
#endif        //(2)

l'erreur attendue : soit qu'il n'y a pas d'espace (1:'#' - commande préprocesseur invalide) - soit qu'un endif supplémentaire (2:'#endif' - token inattendu)