Erros, bugs, perguntas - página 2895

 
A100:
Um erro de compilação:

costumava funcionar, mas no início do ano quebraram os indicadores de função, parece que o seu código ainda deve funcionar em MT4

irá funcionar:

typedef void (*fn)();
void f() {}
fn g() { return f; }
void OnStart()
{
    fn func = g();
    func();
}

ou seja, agora tem de usar uma variável temporária ( agora nem sequer pode usar um conjunto de apontadores!!!! )

A100:

Há aqui alguma contradição porque

Qual é adiferença de princípio?

Um dos administradores escreveu há muito tempo como se faz a análise, primeiro variáveis estáticas, depois globalmente descritas, depois o corpo da função, analisando de cima para baixo no texto

... mas isso não é exacto ;)

 
Igor Makanu:

ou seja, agora tem de usar uma variável temporária ( agora nem sequer pode usar a matriz de apontadores!!!! )

Foi por isso que o escrevi, para que os Desenvolvedores pudessem passar sem o

 
A100:

Foi por isso que escrevi, para que, se possível, os Desenvolvedores o pudessem fazer sem o

@fxsaber escreveu assim que o encontraram, provavelmente já passou um ano, bem, talvez você seja ouvido
 
Igor Makanu:

ou seja, agora tem de usar uma variável temporária ( agora nem sequer pode usar a matriz de apontadores!!!! )

Tem um exemplo para provar que não pode?

 
A100:

Tem um exemplo para provar que não pode?

escreveu um exemplo:

typedef void (*fn)();
void f() {}
fn g() { return f; }
void OnStart()
{
//   fn ptr[10];                                                 //possible use of uninitialized variable 'ptr'
   fn ptr[10] = {0};                                             // OK
   for(int i = ArraySize(ptr) - 1; i >= 0; i--) ptr[i] = g();
   
//   for(int i = ArraySize(ptr) - 1; i >= 0; i--) ptr[i]();     //')' - expression expected
   
   for(int i = ArraySize(ptr) - 1; i >= 0; i--)                  // OK
   {
      fn func = ptr[i];
      func();
   }
}

Fiquei surpreendido, por alguma razão gera um fn ptr[10] de aviso; //possível utilização da variável não-inicializada 'ptr'

agora preciso de descobrir como inicializar os indicadores de funções


era possível na MQL5: ptr[i]();
 
Igor Makanu:

Poderia usar em MQL5: ptr[i]() antes;

Sim... Eu lembro-me

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

Insectos, insectos, perguntas

A100, 2020.07.23 02:40

Erro durante a compilação

typedef void (*fn)();
void OnStart()
{
        fn ff[ 1 ];
        ff[ 0 ](); //Error:: ')' - expression expected
} 

Tive um bug na construção do ano passado, tudo compilado e funcionou bem.

Fórum para negociação, sistemas de negociação automatizados e testes estratégicos

Insectos, insectos, perguntas

A100, 2020.07.23 16:31

Descarreguei o build 2085x32 do stock antigo - tudo se compila bem - pode experimentá-lo você

 
É um erro de compilação:
class EventChartCustom {
      EventChartCustom() {}
};
bool f()
{
    return (EventChartCustom( 0, 0, 0, 0, NULL ) ? true : false); //(1) Error: 'EventChartCustom' - wrong parameters count
}
mas tudo bem:
bool f()
{
    if (    EventChartCustom( 0, 0, 0, 0, NULL ) ) //(2) нормально
        return (true);
    else
        return (false);
}

Qual é a diferença fundamental?

 
Um erro de compilação:
class A {
      A() {}
};
void A() {} //(1) Error: 'A' - identifier already used
mas está bem:
void A() {} //(2) нормально
class A {
      A() {}
};

Qual é a diferença fundamental?

 
Regra de ouro do Mercado.
В Продуктах запрещен вызов любых DLL-библиотек, включая системные библиотеки Microsoft Windows.
O produto do Mercado tem o direito de ampliar a sua funcionalidade se o utilizador tiver autorização para utilizar a DLL?
 

Não foi possível encontrar quaisquer estatísticas sobre o Mercado. Portanto, uma questão para os vendedores de produtos multiplataforma.

As versões MT5 vendem realmente melhor do que MT4?