Erros, bugs, perguntas - página 2679
![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
2365 - o código foi aspergido com erros. Ainda não tinha tempo para o descobrir. Retrocedi para 2361 - estava tudo bem. Em mq4 - a mesma situação.
Obrigado pela mensagem, irei verificar
Parece estar no parâmetro que passa ao chamar o construtor da classe base.
Bug MT5 (build 2365) Erro de compilação na chamada implícita do construtor à classe utilizando operador de atribuição, quando o ponteiro passando por referência é utilizado como argumento do construtor.
Se a passagem do ponteiro por referência é substituída pela passagem do valor, tudo funciona.
Obrigado pelo correio, fixado
Erro de compilação MT5 (build 2365) ao chamar construtor de classe base quando o parâmetro de template da classe de template é usado como classe base.
Sem problemas em MT5 (construir 2363).
Podemos ver que o ArrayResize para objectos é agora mais rápido.
Mais uma vez, a complexidade de uma parte da função ArrayResize foi reduzida de logaritmo para zero
Muito obrigado por acelerar o ArrayResize para memória reservada.
MT5 (build 2365) sobre um projecto real std::vector::push_back é 1,5 vezes mais rápido do que a construção anterior.
E std::vector:reize lag diminuiu de 2,2 vezes para 1,45 vezes.
construir 2366, penso que as constantes não estão a funcionar correctamente agora
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 1. 4
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 2. 5
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 3. 6
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 4. 7
se substituir const por static , funcionará como esperado - uma chamada para f1() e f2() durante a inicialização de a e b
2020.03.21 12:58:03.496 tst (EURUSD,H1) A::f1
2020.03.21 12:58:03.496 tst (EURUSD,H1) A::f2
2020.03.21 12:58:03.496 tst (EURUSD,H1) 1. 4
2020.03.21 12:58:03.496 tst (EURUSD,H1) 2. 5
2020.03.21 12:58:03.496 tst (EURUSD,H1) 3. 6
2020.03.21 12:58:03.496 tst (EURUSD,H1) 4. 7
Se escrever um código como este, é um bug total que não pode ser apanhado
construir 2366, penso que as constantes não estão a funcionar correctamente agora
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 1. 4
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 2. 5
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 3. 6
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 4. 7
se substituir const por static , funcionará como esperado - uma chamada para f1() e f2() durante a inicialização de a e b
2020.03.21 12:58:03.496 tst (EURUSD,H1) A::f1
2020.03.21 12:58:03.496 tst (EURUSD,H1) A::f2
2020.03.21 12:58:03.496 tst (EURUSD,H1) 1. 4
2020.03.21 12:58:03.496 tst (EURUSD,H1) 2. 5
2020.03.21 12:58:03.496 tst (EURUSD,H1) 3. 6
2020.03.21 12:58:03.496 tst (EURUSD,H1) 4. 7
É exactamente assim que deve funcionar.
Se escrever um código como este, é um erro totalmente indetectável.
Aqui também está tudo correcto.
É exactamente assim que deve funcionar.
O ano passado não funcionou dessa forma - testei especialmente modificadores constantes
e parece que@Ilyas explicou como executar um programa MQL, primeiro todas as constantes 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 - ainda pode ser devidamente distribuída, mas o facto de o modificador const não garantir que o compilador irá verificar isto é muito inesperado - o meu segundo exemplo