[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 721

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
O objetivo não é multiplicar variáveis, muitas condições e contadores.
o objetivo é então escrever corretamente, e não usar abreviações de linguagem:
O objetivo não é criar variáveis, muitas condições e contadores.
Portanto, por favor, o compilador permite que você faça tais coisas...
A bandeira padrão é Falsa, portanto a primeira para loop em que a variável a é declarada não será executada, o que não impede que a mesma variável "não declarada" seja usada no outro ramo : )A condição se
aqui nós fazemos algo
caso contrário, se outra condição
fazer algo mais
O objetivo não é criar variáveis, muitas condições e contadores.
portanto, o primeiro para loop em que a variável a é declarada não será executado
o ponto de escrever corretamente, em vez de usar abreviações de linguagem:
Isto não exige que você reinicialize a variável. Faça tudo de acordo com o que você escreveu e sua variável a será usada nos lugares certos em seus ramos lógicos sem reinicialização. Declare-o uma vez e use-o para seu benefício e para o benefício da humanidade. :) O principal é não se perder onde e para que serve...
O "efeito" mostrado acima prova que a MQL-machine procura primeiramente no arquivo EX4 as variáveis declaradas, e as cria independentemente dos ramos lógicos por completo. Por um lado, não economiza RAM e, por outro, pode criar construções similares, embora, em minha opinião, este estilo não seja a melhor opção.
Todo o problema estava na falta de {}, não estava? Muito obrigado!
O problema todo estava na declaração da variável:
int a;
Eu o declaro e depois o uso onde e quando necessário, enquanto você tinha uma declaração repetida de uma variável - o mais provável é que o compilador não a tenha ignorado
Se você tem apenas uma declaração no laço, então você não precisa {}, mas se você tem mais, então você tem que colocar {}, caso contrário você vai procurar por que o laço não é calculado corretamente
SZZY: Se você acabou de começar, coloque parênteses curly depois de para, você vai pegar o jeito mais tarde
O laço deve ser sempre executado.
O que o laço tem a ver com isso? É apenas um exemplo de que uma variável criada em um bloco não conhecido para ser usada ainda está em "jogo" e será visível e utilizável durante todo o método start(), sem a necessidade de reinicializá-la, muito menos de desinicializá-la antes de ser reutilizada.