Errori, bug, domande - pagina 1369

 
Alexander Laur:
La domanda è: l'arbitraggio è possibile nel forex?
))) "e credi nel dickfix?"
 
Un argomento significativo per l'introduzione di * (che non è stato espresso prima) può essere il seguente:
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& )
}

quindi non si può chiamare a.operator( A& ) nemmeno esplicitamente, il che è significativo

In questo caso, l'introduzione di * insieme al rendere l'operazione di confronto dei puntatori in una funzione separata (forse una funzione di sistema) risolverà tutte le ambiguità esistenti
void future( A *a, A *b )
{
        a == b;         //вызывается a.operator( A* )
        a == *b;        //вызывается a.operator( A& )
        ::IsEqualPointer( a, b ); //сравниваются указатели на равенство
}
Se era ottimale, diventerà ideale!

Abbiamo aggiunto gli operatori *(Dereference/Inderection) e &(Address-of), non faremo ulteriori cambiamenti nel linguaggio
A *a,*b;

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

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

// операция & - эквивалент(короткая запись) вызову GetPointer
 
Ilyas:
Aggiunti operatori *(Dereference/Inderection) e &(Address-of)
Che bello!
 
Ilyas:

Aggiunti operatori *(Dereference/Inderection) e &(Address-of), non sono previsti ulteriori cambiamenti nel linguaggio
Questo è solo in MQL5 o anche in MQL4?
 
Konstantin Karpov:
Questo è solo in MQL5 o è stato aggiunto anche a MQL4?
Aggiunto a entrambe le lingue. Sfortunatamente, non apparirà nella prossima build.
 
Mi piacerebbe conoscere la prospettiva di introdurre la proprietà (come membro della classe). Ho fatto questa domanda recentemente, ma non ci sono stati commenti da parte degli sviluppatori. È previsto, o devo fare un sondaggio sul forum per sapere se questa caratteristica è necessaria?
 
Alexey Navoykov:
Mi piacerebbe conoscere la prospettiva di introdurre la proprietà (come membro della classe). Ho fatto questa domanda recentemente, ma non ci sono stati commenti da parte degli sviluppatori. È previsto, o devo fare un sondaggio sul forum per sapere se questa caratteristica è necessaria?
Questa domanda è in fase di studio.
 
Ecco un altro inconveniente: quando cerchiamo di implementare qualcosa come questo
a.b().c().d();

allora dopo la prima coppia di parentesi, la lista di autosostituzione con i nomi dei membri della classe smette di apparire, e tutto il testo successivo deve essere digitato completamente manualmente/alla cieca.

 
Alexey Navoykov:
Ecco un altro inconveniente: quando si cerca di implementare qualcosa di simile:

allora dopo la prima coppia di parentesi, la lista di autosostituzione con i nomi dei membri della classe smette di apparire, e tutto il testo successivo deve essere digitato completamente manualmente/alla cieca.

Sarebbe bello aggiungere al debugger un suggerimento sul tipo di variabile usata, come in tutti gli IDE avanzati
 

boolFileIsExist(
const stringfile_name,//nome del file
intcommon_flag=0// area di ricerca
);

Il file controllato può essere una sottodirectory. In questo caso FileIsExist() restituirà false, e l'errore 5018 sarà scritto nella variabile _LastError - "This is not a file, but a directory". (vedere l'esempio della funzione FileFindFirst).

Il 5018 non funziona nelle sottocartelle/sottodirectory

Per esempio se

e l'esempio https://www.mql5.com/ru/docs/files/filefindfirst avrebbe

input string InpFilter="Dir1\\*"

il risultato sarebbe

e dovrebbe essere 1: Directory = Dir2\.

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