Erros, bugs, perguntas - página 2891
![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
Isto pode ser quando o compilador não tem objectivamente nenhuma informação:
ou seja, f() pode ter inicializado i ou não. E neste caso o compilador C++ dá um aviso, mas o MQL não o faz.
Em C++ os endereços das células de memória não são escondidos, é por isso que a variável é inicializada com lixo.
Em suma, inicialize sempre as variáveis e não terá dores de cabeça.Em Mql os endereços das células de memória estão escondidos e não são acessíveis. Foi assim que o desenvolvedor Mql estragou o compilador ))
Sim, mas antes da primeira iteração a variável j ainda não está inicializada, que é o que o compilador j jura.
Se não utilizar esta variável ou não colocar a atribuição i=j no corpo do loop, que seria idêntica à execução da primeira opção, não haverá avisos. O compilador não verifica a lógica do laço e a sequência de execução, ele verifica a sintaxe de cima para baixo, penso que sim, não tenho a certeza)
fxsaber:
E em outras situações.
a resposta de impacto em vez disso está a abanar o terminal - uma grande inovação
em vez disso, prima a resposta, descarrega o terminal - uma grande inovação.
É tudo a mesma coisa... E com a pergunta pela qual quase fui pregado aqui (na mesma carteira do menu drop-down e tópicos não lidos - apenas irmãos gémeos), e com a sua, e ainda (não sei como ninguém) penduro tais ... "coisa".
![](https://c.mql5.com/3/334/rchkywgj4j.png)
É isso que fazer com esta inscrição? Em lado nenhum, qualquer ligação para ver quem é perguntado e porquê, não (talvez esteja na carteira, mas eu não olhei para lá).
A impressão muito persistente é que todas estas "maravilhosas" alterações ao site estão a ser feitas por uma pessoa.... E pessoalmente para si próprio. Exactamente como ele pensa que precisa para si próprio. E não quer saber da nossa opinião...
É isso que fazer com esta inscrição?
Quando aREASON_ACCOUNT é alterada, esperava-se receber a conta anterior e terminar o trabalho com ela, logicamente, mas não, se a conta foi alterada, recebemos um novo número no deinit em REASON_ACCOUNT.
Logicamente, o programa deve terminar de trabalhar com os dados actuais e enviar os novos dados ao fazer uma nova chamada e não alterar os dados no processo...
Quando aREASON_ACCOUNT é alterada, esperava-se receber a conta anterior e terminar o trabalho com ela, logicamente, mas não, se a conta foi alterada, recebemos um novo número no deinit em REASON_ACCOUNT.
O programa deve logicamente completar o trabalho com os dados actuais e passar os novos dados ao fazer uma nova chamada, sem alterar os dados no processo...
Aqui está o código que demonstra um comportamento incorrecto
Resultado
Quando aREASON_ACCOUNT é alterada, esperava-se receber a conta anterior e terminar o trabalho com ela, logicamente, mas não, se a conta foi alterada, recebemos um novo número no deinit em REASON_ACCOUNT.
O programa deve logicamente terminar de trabalhar com os dados actuais e enviar os novos dados ao fazer uma nova chamada, e não alterar os dados no processo...
Isto não é um erro e, portanto, o comportamento não mudará. Basta considerar esta peculiaridade.