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
No arquivo localvar_testscript_4.mq5
Se, após a chamada a GetPointer(), imprimirmos o tipo de ponteiro, ele nos informará que os ponteiros são POINTER_AUTOMATIC e não POINTER_DINAMIC.
Portanto, essa linha nunca é executada
<quote.
Nessa ordem de declaração,items_array é destruído antes que a matriz [5] seja destruída. Na função Destroy(), que é chamada a partir do destruidor deitems_array, o trabalho é feito com ponteiros para objetos ainda existentes, portanto, não ocorrem erros.
Olá a todos!
É aqui que eu não entendo nada da lógica. =)
Afinal de contas, no método Destroy, comparamos o tipo do nosso ponteiro com um tipo dinâmico. E nosso tipo é automático. Portanto, o operador delete não é usado.
Mas isso não é necessário, pois os objetos criados automaticamente são excluídos automaticamente.
E, por fim, o arquivo se esqueceu de especificar o tipo de valor de retorno void para os métodos Destroy e SetArray no estágio de implementação de métodos fora da classe, o que gera um erro.
Os novatos (como eu) podem se assustar =)