Erreurs, bugs, questions - page 1369

 
Un argument important en faveur de l'introduction de * (qui n'a pas été exprimé auparavant) peut être le suivant :
class A { public:
        virtual bool    operator==( A& ) { Print(__FUNCSIG__); return true; }
        virtual bool    operator==( A* ) { Print(__FUNCSIG__); return true; }
};
void today( A *a, A *b )
{
        a == b;            //сравниваются указатели на равенство
        a.operator==( b ); //вызывается a.operator( A* )
//нет синтаксиса вызова a.operator( A& )
}

on ne peut donc pas appeler a.operator( A& ) même explicitement, ce qui est significatif

Dans ce cas, l'introduction de * et la transformation de l'opération de comparaison des pointeurs en une fonction distincte (peut-être une fonction système) résoudront toutes les ambiguïtés existantes.
void future( A *a, A *b )
{
        a == b;         //вызывается a.operator( A* )
        a == *b;        //вызывается a.operator( A& )
        ::IsEqualPointer( a, b ); //сравниваются указатели на равенство
}
S'il était optimal, il le deviendra !

Nous avons ajouté des opérateurs *(Dereference/Inderection) et &(Address-of), nous n'allons pas faire de changements supplémentaires dans le langage.
A *a,*b;

 a== b;   // сравнение "указателей"
*a== b;   // вызов оператора ==(A *)
 a==*b;   // вызов оператора ==(A &)

// для операции != аналогично

// операция & - эквивалент(короткая запись) вызову GetPointer
 
Ilyas:
Ajout des opérateurs *(Dereference/Inderection) et &(Address-of)
Super !
 
Ilyas:

Ajout des opérateurs *(Dereference/Inderection) et &(Address-of), aucun changement supplémentaire dans le langage ne sera effectué/prévu.
Est-ce seulement dans MQL5 ou aussi dans MQL4 ?
 
Konstantin Karpov:
Est-ce que c'est seulement dans MQL5 ou est-ce que cela a été ajouté à MQL4 aussi ?
Ajouté aux deux langues. Malheureusement, il n'apparaîtra pas dans la prochaine version.
 
J'aimerais connaître la perspective d'introduire la propriété (en tant que membre de la classe). J'ai posé cette question récemment, mais il n'y a pas eu de commentaires de la part des développeurs. Est-ce prévu, ou dois-je faire un sondage sur le forum pour savoir si cette fonctionnalité est nécessaire ?
 
Alexey Navoykov:
J'aimerais connaître la perspective d'introduire la propriété (en tant que membre de la classe). J'ai posé cette question récemment, mais il n'y a pas eu de commentaires de la part des développeurs. Est-ce prévu, ou dois-je faire un sondage sur le forum pour savoir si cette fonctionnalité est nécessaire ?
Cette question est à l'étude.
 
Voici un autre inconvénient. Lorsque nous essayons d'implémenter quelque chose comme ceci
a.b().c().d();

après la première paire de parenthèses, la liste de substitution automatique avec les noms des membres de la classe ne s'affiche plus, et tout le reste du texte doit être tapé manuellement/aveuglément.

 
Alexey Navoykov:
Voici un autre inconvénient. Quand on essaie d'implémenter quelque chose comme ça :

après la première paire de parenthèses, la liste de substitution automatique avec les noms des membres de la classe ne s'affiche plus, et tout le reste du texte doit être tapé manuellement/aveuglément.

Il serait intéressant d'ajouter au débogueur une indication du type de variable utilisée, comme dans tous les IDE avancés.
 

boolFileIsExist(
const stringfile_name,//nom du fichier
intcommon_flag=0// zone de recherche
) ;

Le fichier à vérifier peut être un sous-répertoire. Dans ce cas, FileIsExist() renverra false, et l'erreur 5018 sera écrite dans la variable _LastError - "This is not a file, but a directory". (voir l'exemple de la fonction FileFindFirst).

5018 ne fonctionne pas dans les sous-dossiers/sous-répertoires

Par exemple, si

et l'exemple https://www.mql5.com/ru/docs/files/filefindfirst aurait

input string InpFilter="Dir1\\*"

le résultat serait

et il devrait être 1 : Directory = Dir2\.

Документация по MQL5: Файловые операции / FileFindFirst
Документация по MQL5: Файловые операции / FileFindFirst
  • www.mql5.com
Файловые операции / FileFindFirst - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

A100:

...

Comme si dans l'exemple https://www.mql5.com/ru/docs/files/filefindfirst

et le dossier OK\ contenait d'autres sous-dossiers.
Reproduit dans le mien. Comme solution temporaire, le dossier est identifié par le "\" à la fin de son nom.