Erros, bugs, perguntas - página 1736
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
se alguém estiver interessado, a resposta do servicedesk:
Estou muito interessado! Por favor, explique a resposta do Service Desk com um exemplo.
& == GetPointer(). * - nada mudou.
Estou muito interessado! Por favor, explique a resposta do Service Desk com um exemplo.
& == GetPointer(). * - nada mudou.
se alguém estiver interessado, a resposta é servicedesk:
A propósito, enviei-lhes uma proposta no outro dia sobre a introdução de indicações para qualquer tipo de dados. E esta restrição ridícula já é irritante.
seria bom introduzir a sobrecarga de * operador, porque sem ela não podemos realizar a identidade com STL, também seria bom introduzir o typedef na íntegra, não só em calback`i
Que tipo de exemplo deseja?
O que se pretende de * e &. Algo simples mas ilustrativo. Para ver a conveniência.
O que eu quero, já escrevi acima.
Pode fazer você mesmo um exemplo com o operador '&' onde usa GetPointer(...), é essencialmente uma forma curta
O exemplo com o operador '*' - não sei se o ajuda a compreender:
{
int m_value;
public:
Iterator(const int val) : m_value(val) { }
int operator*() { return m_value; }
};
int main(int argc, char **argv) {
Iterator *_it = new Iterator(5);
int _val = **_it;
//---
return 0;
}
funciona em C++, mas em MQL terá de fazer um geter para obter m_value.
Adicionar à Ajuda que ChartRedraw(MainChartID) não é adequado para redesenhar OBJ_CHART. O ChartRedraw(ObjChartID) é necessário.
Por conseguinte, o exemplo na Ajuda é incorrecto.
Não limitar a escala a N <= 5 (tamanho da área sob barra = 2^N).
Isto é necessário (e tornou-se expediente) para se poder olhar para a história da carraça com mais detalhe.
{
public:
const int a;
A( int c = 0 ) : a(c) {}
virtual int f()
{
Print(__FUNCTION__);
return(this.a);
}
};
class B : public A
{
public:
const int b;
B( int c = 0 ) : A(c), b(this.f()){}
virtual int f()
{
Print(__FUNCTION__);
return(this.a);
}
};
void OnStart()
{
B b;
A* a = new B;
delete a;
}
Resultado
2016.10.18 09:35:01.981 Test14 (GBPUSD,M1) B::f
Qual é a razão para a saída de B::F e não de A::f? O guião é escrito de tal forma que f é chamado ANTES que o corpo do construtor seja executado (em negrito). Mas neste momento, o construtor da classe A já foi chamado. É por isso que este.f() parece referir-se exactamente à classe base antes de o construtor B ser chamado. Explique onde se encontra o erro de raciocínio/previsão.