Erros, bugs, perguntas - página 2092
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
build 1711, o mesmo erro foi observado em 1709 e 1700, nunca o tinha notado antes:
- se eu solicitar uma hora de abertura de bar que não esteja na história, então CopyTime congela por tempo desconhecido, por exemplo, solicito uma hora de abertura de bar:
mas porque a sessão da noite foi transferida para as 19:05 e não há barras na história para este intervalo de tempo, então, depois de chamar a função, o controlo do programa não é transferido de volta e fica pendurado.
Embora, a função deva sair com um erro.
Erro na execução
Erro de compilação
Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial
Insectos, insectos, perguntas
A100, 2017.12.19 23:04
Erro ao executar
Parece ser uma razão compreensível em ambos os casos - campo e método são o mesmo nome, por isso a referência a campo e método são exactamente os mesmos. De forma correspondente, o compilador chama o campo em vez do método. No primeiro caso, o campo não está definido, por isso é um aborrecimento. No segundo caso, tudo está bem - o campo é chamado.
Assim, se declararmos um método na base e um campo com o mesmo nome na descendência, ele funcionará numa sequência diferente.
O compilador deve dar os seguintes resultados
Consequentemente, o compilador chama o campo, não o método.
Como é que um campo é melhor do que um método? C++, por exemplo, chama um método em vez de um campo - isto é lógico - porque o método está numa classe derivada, por isso está mais próximo. Por outras palavras, se a assinatura na classe derivada se encaixa plenamente, porquê envolver-se na classe base?
Como é que um campo é melhor do que um método? Por exemplo, C++ chama um método em vez de um campo, o que é lógico porque o método está numa classe derivada, por isso está mais próximo. Por outras palavras, se a assinatura numa classe derivada se encaixa totalmente, porquê envolver-se na classe base?
Compreende que criou uma situação artificial, que deve ser sempre acompanhada por um aviso do compilador.
Sobre o tema "mais perto", escrevi
se declarar um método na base e um campo com o mesmo nome na descendência, ele funcionará numa sequência diferente.
Não me consigo lembrar da nuança com as variáveis estáticas. Por favor lembre-me porque é que este bastardo gera isto?
Todo o problema é a sequência de inicialização das variáveis e a sequência de execução do código.
É mais fácil de compreender em modo de depuração passo a passo do que de explicar por palavras.
Insecto estranho com trabalhos freelance.
havia 4 postos de trabalho em processo. 1 passou a 5. um passou a 5.
Aceitei mais um emprego e diz 5. Aceitei mais um emprego e diz 6. Aceitei mais um emprego e diz 4 empregos mas diz 6 empregos em curso.
aceitou outro trabalho com 5 trabalhos em curso 7
agora não posso aceitar empregos embora só tenha 5
número de candidatura
1913868
Insecto estranho com trabalhos freelance.
havia 4 postos de trabalho em curso. aceitei 1 posto de trabalho tornou-se 5. passei um posto de trabalho deixou 5.
Aceitei mais um emprego e diz 5. Aceitei mais um emprego e diz 6. Aceitei mais um emprego e diz 4 empregos mas diz 6 empregos em curso.
levou outra com 5 obras mas "em curso" 7
agora não posso aceitar empregos embora só tenha 5
número de candidatura
1913868
Obrigado pela mensagem, trabalhando numa correcção.