Erros, bugs, perguntas - página 2653
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
Bem, a STL não é uma solução de tamanho único. Aqui tem de prestar muita atenção a pormenores específicos.
Está a confundir suavidade com calor.
Não é uma questão de STL. Eu próprio vou descobrir isso... (se alguém não o tem, isso não significa que não possa ser feito em princípio)
A forma mais fácil de implementar toda a funcionalidade possível com métodos abstractos numa classe ou interface de base, e nos descendentes - ou implementação ou =delte.
Neste caso, é necessário passar indicações ou referências do mesmo tipo para os métodos da classe base.
Embora exista um mal inevitável sob a forma de uma mesa virtual, mas é melhor organizar a arquitectura de tal forma que não haja ramificações dispendiosas via dynamic_cast em qualquer lugar.
O método que sugeriu foi implementado anteriormente e também depende do mesmo bug:https://www.mql5.com/ru/forum/1111/page2648#comment_15015191
O bug está nas prioridades de chamar funções recarregadas quando é feita uma conversão de tipo implícita para um parâmetro de ponteiro/classe.
Em C++ tudo está bem, mas em MQL o erro de compilação"chamada ambígua para função sobrecarregada"
Uma das variantes de trabalho é sugerida acima, mas é grande e não conveniente, e não tenho qualquer desejo de a utilizar para uma dúzia de funções semelhantes.
Talvez haja algo mais simples?
Os desenvolvedores, por favor aconselhem, existem planos para corrigiro bug ou isto é arquitectonicamente impossível?
Dentro de uma função de modelo, um ponteiro passado dentro de uma conversão de tipo explícito comporta-se como uma classe, causando um erro de tempo de compilação em conformidade:
Burro, não consegue resolver um problema simples. Preciso de compreender que a negociação é proibida durante as seguintes configurações de arranque da EA.
Esta verificação não funciona.
OrderCheck é um engano vermelho. Por favor, aconselhar.
Código ANATOLI KAZHARSKI
Obrigado, não reparei no MQL_TRADE_ALLOWED.
Burro, não consegue resolver um problema simples. Preciso de compreender que a negociação é proibida durante as seguintes configurações de arranque da EA.
Esta verificação não funciona.
OrderCheck é um engano vermelho. Por favor, aconselhar.
Provavelmente a razão é o trabalho da cache do gerador de classes modelo.
Bug MT5(build 2340) usa o mesmo código duas vezes: primeiro passe - compilação bem sucedida, segundo passe - erro de compilação.
Aparentemente, os problemas estão relacionados com a cache do gerador de funções modelo.
O erro desaparece se para a função modelo "void run(const T &ff)" a transferência por referência é substituída pela transferência pelo valor"void run(const T ff)".
Bug MT5(build 2340) Erro de compilação ao tentar aceder à classe interna para um parâmetro de modelo de uma função de modelo.