Erros, bugs, perguntas - página 2752

 
Sergey Dzyublik:

Pelo menos faça um debugger antes de escrever declarações ridículas.
No segundo laço i == 1 e j == 1, e no terceiro laço e assim por diante, ambos são mais um.

pelo menos terminar a escola antes de acusar estranhos de alguma coisa.

na língua russa, um ponto de interrogação no final de uma frase não significa necessariamente asserção!

 
Igor Makanu:

Deve pelo menos terminar a escola antes de acusar estranhos de algo
Em russo, um ponto de interrogação no final de uma frase não significa uma declaração!

Desculpe por ferir os seus sentimentos...
Espero que consiga descobrir como funciona o insidioso modificador constante na MQL.

Erros, Erros, Perguntas

Igor Makanu,2020.03.21 10:26

não funcionou dessa forma no ano passado - estava a testar propositadamente os modificadores const
e parece que@Ilyas explicou como executar um programa MQL. Primeiro todas as const e estáticas são inicializadas não importa onde são descritas e depois os construtores de classes são chamados
ok, com esta inicialização estática / const - pode ser devidamente distribuída, mas o modificador const não garante que o compilador a verifique - muito inesperado - o meu segundo exemplo


 
Sergey Dzyublik:

Desculpe se eu ferir a sua dignidade...
Espero que consiga perceber como funciona o insidioso modificador constante na MQL.

Desculpe, leia o contexto, incluindo os delimitadores

Tu e eu temos tarefas diferentes para estar no fórum, és um utilizador do fórum que sabe tudo, que levanta as suas capacidades respondendo a perguntas dos utilizadores do fórum, enquanto eu não tenho medo de fazer uma pergunta no fórum e não tenho medo de mostrar a minha ignorância sobre ele.... Porquê fazer uma pergunta se sabe a resposta?

embora talvez seja um representante da indústria da segurança, mais uma vez tentando encontrar os meus posts na história do fórum para anexá-los à discussão actual... leia a primeira linha deste post!

 

Durante a depuração e quando o próprio indicador está a funcionar, no registo, escreve subitamente o Stack overflow. Ao depurar-se, surge a mensagem "O erro crítico ocorreu, a depuração parou". Aqui está o meu tópico semelhante:https://www.mql5.com/ru/forum/338301. Mas durante a compilação o compilador não repreende e tudo corre bem. Quando se depura, é impossível determinar em que ponto o programa falha.

Talvez seja o compilador? Não estou realmente interessado no compilador que estou a utilizar, mas nas minhas definições parece que é assim:

Compiladores

Tenho o VS instalado, por isso tenho esta ligação nas definições. Então o compilador também é apropriado...? Mas que compilador estava lá quando não tinha VS, sinceramente não entrei nele. Talvez devêssemos tentar voltar àquele compilador e tentar compilar o projecto com ele?

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

Recentemente, descobriu-se um símbolo em que os Dígitos foram incorrectamente colocados. Pediu ao corretor que o corrigisse. Fê-lo de imediato. Não procurou se o valor da variável _Dígitos e Dígitos() mudou. Mas é apenas um facto que o símbolo pode mudar os seus valores na mosca.

O valor de _Dígitos não deve ter mudado pelo menos porque é colocado num bloco de memória só de leitura

 
Mihail Matkovskij:

Durante a depuração e quando o próprio indicador está a funcionar, no registo, escreve subitamente o Stack overflow. Ao depurar-se, surge a mensagem "O erro crítico ocorreu, a depuração parou". Aqui está o meu tópico semelhante:https://www.mql5.com/ru/forum/338301. Mas durante a compilação o compilador não repreende e tudo corre bem. Quando se depura, é impossível determinar em que ponto o programa falha.

Talvez seja o compilador? Não estou realmente interessado no compilador que estou a utilizar, mas nas minhas definições parece que é assim:

Tenho o VS instalado, por isso tenho esta ligação nas definições. Então o compilador também é apropriado...? Mas que compilador estava lá quando não tinha VS, sinceramente não entrei nele. Talvez devêssemos tentar voltar àquele compilador e tentar compilar o projecto com ele?

Como se pode mudar o compilador?

 
A100:

O valor de _Dígitos não deveria ter mudado, nem que fosse apenas porque é colocado num bloco de memória só de leitura

Acontece então que este valor pode ser batota.

 
Andrey Barinov:

Sempre foi possível (F3). Eles funcionam.

por F3 funcionam, mas no menu não funcionam.

 
fxsaber:

Acontece então que este valor pode fazer batota.

Portanto, por uma questão de rigor, devemos utilizarDígitos() em vez de _Dígitos. Então formalmente não há contradição lógica - Dígitos() não está ligado por constante modificadora.

Tanto quanto percebi _Dígitos eram necessários para a compatibilidade com o MT4 - nada mais

 
Igor Makanu:

se a soma de retorno do guião = 0 ?

ou este guião deve sequer devolver um erro de compilação em tempo de compilação?

A função f é executada a cada iteração, pelo que não é 0. Compreendo o seu mal-entendido. Em C# o especificador const é usado apenas para expressões constantes calculadas na fase de compilação. Em C++ há um análogo para isso: constexpr.E em MQL não há nenhum.