Errori, bug, domande - pagina 2752

 
Sergey Dzyublik:

Almeno esegui un debugger prima di scrivere dichiarazioni ridicole.
Nel secondo ciclo i == 1 e j == 1, e nel terzo e così via entrambi sono uno in più.

Almeno finisci la scuola prima di accusare gli estranei di qualcosa.

nella lingua russa, un punto interrogativo alla fine di una frase non significa affermazione!

 
Igor Makanu:

Dovresti almeno finire la scuola prima di accusare gli estranei di qualcosa
Nella lingua russa, un punto interrogativo alla fine di una frase non significa una dichiarazione!

Scusa se ho ferito i tuoi sentimenti...
Spero che tu riesca a scoprire come funziona l'insidioso modificatore const in MQL.

Errori, bug, domande

Igor Makanu,2020.03.21 10:26

Non funzionava così l'anno scorso - stavo testando di proposito i modificatori const
e sembra che@Ilyas abbia spiegato come eseguire un programma MQL. Prima tutti i const e static sono inizializzati non importa dove sono descritti e poi i costruttori di classe sono chiamati
ok, con questa inizializzazione static / const - può essere distribuito correttamente, ma il modificatore const non garantisce che il compilatore lo controlli - molto inaspettato - il mio secondo esempio


 
Sergey Dzyublik:

Scusa se ho ferito la tua dignità...
Spero che tu riesca a capire come funziona l'insidioso modificatore const in MQL.

Scusa, leggi il contesto, compresi i delimitatori

Io e te abbiamo compiti diversi per essere sul forum, tu sei un utente del forum saccente che aumenta le sue competenze rispondendo alle domande degli utenti del forum, mentre io non ho paura di fare una domanda sul forum e non ho paura di mostrare la mia ignoranza in materia.... Perché fare una domanda se si conosce la risposta?

anche se forse sei un rappresentante dell'industria della sicurezza, ancora una volta cercando di trovare i miei messaggi nella storia del forum per attaccarli alla discussione attuale ... leggere la prima riga di questo post!

 

Durante il debug e quando l'indicatore funziona da solo, nel log, improvvisamente scrive Stack overflow. Quando si esegue il debugging, appare il messaggio "Critical error occurred, debugging stopped". Ecco il mio thread simile:https://www.mql5.com/ru/forum/338301. Ma durante la compilazione il compilatore non rimprovera e tutto va bene. Quando si esegue il debug, è impossibile determinare in quale punto il programma si blocca.

Forse è il compilatore? Non mi interessa molto il compilatore che sto usando, ma nelle mie impostazioni appare così:

Compilatori

Ho VS installato, quindi ho questo link nelle impostazioni. Quindi anche il compilatore è appropriato...? Ma quale compilatore c'era quando non avevo VS, onestamente non ci sono entrato. Forse dovrei provare a tornare a quel compilatore e provare a compilare il progetto con esso?

Ошибка при дебаге (Возникла критическая ошибка, отладка остановлена)
Ошибка при дебаге (Возникла критическая ошибка, отладка остановлена)
  • 2020.04.23
  • www.mql5.com
Решил поэкспериментировать со стандартным UI компонентом CAppDialog...
 
fxsaber:

Recentemente ho scoperto un simbolo su cui le cifre erano impostate in modo errato. Ha chiesto al broker di correggerlo. L'ha fatto sul posto. Non ha guardato se il valore della variabile _Digits e Digits() è cambiato. Ma è solo un fatto che il simbolo può cambiare i suoi valori al volo.

Il valore di _Digits non dovrebbe essere cambiato almeno perché è posto in un blocco di memoria di sola lettura

 
Mihail Matkovskij:

Durante il debug e quando l'indicatore funziona da solo, nel log, improvvisamente scrive Stack overflow. Quando si esegue il debugging, appare il messaggio "Critical error occurred, debugging stopped". Ecco il mio thread simile:https://www.mql5.com/ru/forum/338301. Ma durante la compilazione il compilatore non rimprovera e tutto va bene. Quando si esegue il debug, è impossibile determinare in quale punto il programma si blocca.

Forse è il compilatore? Non mi interessa molto il compilatore che sto usando, ma nelle mie impostazioni appare così:

Ho VS installato, quindi ho questo link nelle impostazioni. Quindi anche il compilatore è appropriato...? Ma quale compilatore c'era quando non avevo VS, onestamente non ci sono entrato. Forse dovremmo provare a tornare a quel compilatore e provare a compilare il progetto con quello?

Come si può cambiare il compilatore?

 
A100:

Il valore di _Digits non dovrebbe essere cambiato, se non altro perché è posto in un blocco di memoria di sola lettura

Si scopre allora che questo valore potrebbe essere un imbroglio.

 
Andrey Barinov:

È sempre stato possibile (F3). Funzionano.

da F3 funzionano, ma nel menu no.

 
fxsaber:

Si scopre allora che questo valore può imbrogliare.

Quindi, per amore di rigore, dovremmo usareDigits() invece di _Digits. Allora formalmente non c'è alcuna contraddizione logica - Digits() non è collegato dal modificatore const.

Per quanto ho capito _Digits era necessario per la compatibilità con MT4 - niente di più

 
Igor Makanu:

lo script dovrebbe restituire sum = 0 ?

o questo script dovrebbe addirittura restituire un errore di compilazione?

La funzione f viene eseguita ad ogni iterazione, quindi non è 0. Capisco il tuo malinteso. In C# lo specificatore const è usato solo per espressioni costanti calcolate in fase di compilazione. In C++ c'è un analogo per questo: constexpr.E in MQL non c'è.
Motivazione: