Erros, bugs, perguntas - página 1966

 
A100:
Eu quis dizer que a própria possibilidade de colocar um método fora de uma aula é útil.

Sim, apenas se tortura e tortura, e depois acontece que se deveria ter conhecido certos segredos).

Talvez eles também tenham especialização em classes de padrões? Não sei, mas tenho a certeza que eles têm alguma forma inteligente de o fazer. Pedi-lhes um longo tempo no balcão de serviço e eles mantiveram-se em silêncio. Provavelmente, eles também têm alguns segredos. Derramamento )

 
Alexey Navoykov:

Talvez eles também tenham uma especialização em classes de padrões?

Há tanto tempo!

Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial

Insectos, insectos, perguntas

fxsaber, 2017.08.16 13:19

typedef void (*fn)();

template<typename T>
void g( T Value ) { Print(typename(Value)); }
void f() {}

void g( fn Value ) { Print(typename(Value)); }
void OnStart()
{
        g( f ); // void(*fn)()
}

Ou há mais alguma coisa em mente?


ZS encontrou-o.

 
fxsaber:

Então, há quanto tempo!

Ou há mais alguma coisa em mente?

ZS encontrou-o.

Não, eu estava a falar de modelos de classes, não de funções.

A propósito, a especialização dos modelos de funções ainda não foi efectivamente implementada. O que eles chamaram de "especialização" na sua ligação, por alguma razão, é na verdade bastante diferente. E neste momento existe apenas a possibilidade de sobrecarga com tipos específicos. É quase o mesmo que especialização, a única diferença é que o compilador não controla a identidade da assinatura de todas as funções sobrecarregadas. Isto é necessário quando as funções se encontram em lugares diferentes no código.

 
A100:

É muito mais conveniente dessa forma.

No caso de não haver especializações.
 
Alexey Navoykov:

A propósito, a especialização de modelos de funções ainda não foi realmente implementada. O que eles chamam de "especialização" na sua ligação não é realmente o que é. E neste momento existe apenas a possibilidade de sobrecarga com tipos específicos. É quase o mesmo que especialização, a única diferença é que o compilador não controla a identidade da assinatura de todas as funções sobrecarregadas. Pode precisar dele quando as funções estão localizadas em diferentes fragmentos de código.

Não o compreendo sem um exemplo.

 
fxsaber:

Sem um exemplo, não compreendo.

De facto, exagerei aí quando disse "praticamente o mesmo". As diferenças são significativas, porque apenas os argumentos de função podem ser sobrecarregados, e pode haver outros nomes tipográficos no modelo que não estejam relacionados com os argumentos. E só podem ser especializados. Por exemplo, um modelo sem qualquer tipo de argumentos:

template<typename T>
void f() { }

template<>
void f<int>() { }
 
Alexey Navoykov:
Especialização sem argumentos? )) Em que se especializará?
 
Комбинатор:
Especialização sem argumentos? )) E para que será a especialização?
Bem, terá de decidir isso no corpo da função. O que está errado aqui? Tenho uma tal necessidade com muita frequência. Tenho de o resolver, passando um parâmetro fictício, que é muito crocante.
 
Alexey Navoykov:
Qual é o grande problema?
Nada se conseguir que seja compilado e executado nos profissionais)
 

Imediatamente após a actualização para construir 1650, ao arrastar um Expert Draw não compilado do Navigator/Favourites para uma carta em vez do MQL5 não pode abrir o ficheiro 'Draw.ex5' -> é lançado outro Expert Advisor, nomeadamente, ExpertMACD

Tudo foi fixado após a conclusão da compilação do Sorteio, mas é um facto

Devo acrescentar: A situação repete-se - em vez de qualquer Expert Advisor não compilado, é lançado o ExpertMACD