Erros, bugs, perguntas - página 2034

 
A execução de paragens durante um intervalo já está fixada?
 
Vitaly Muzichenko:

Desenterrar o botão de casa com uma chave de fendas :)


Não, esse não é o problema. Como acontece tanto quando o MT5 está em segundo plano como quando até o gráfico é diferente.

 

Suponho que o problema é devido a este estranho campo:

 //---- profit calculation parameters
   int               unknown2;

Não estava lá no original, de onde veio?


São 4 bytes para o alinhamento de endereços na estrutura.

os campos gtc_pendings anteriores e o campo subsequente do tamanho do_contrato são lidos correctamente

 

Por favor, envie-me um link para o tópico: . sl: 0,00000 tp: 0,00000 tp falhou [Fora de aspas]

 

Erro de compilação

#define  MACRO1( X, Y )  X/**/##Y
#define  MACRO2( X, Y )  X##/**/ Y
void f5() {}
void OnStart()
{
        MACRO1( f, 5 )(); //нормально
        MACRO2( f, 5 )(); //error: 'f/' - undeclared identifier
}
 
A100:

Erro durante a compilação

Teria proibido também o MACRO1.

 
fxsaber:

Teria proibido também o MACRO1.

Com base em quê? Só porque lhe apeteceu?

Há uma regra geral: os comentários podem estar em qualquer parte do programa. Se não utilizar comentários, isso não significa que outros não o façam

 
A100:

Com base em quê? Só porque lhe apetece?

Há uma regra geral: os comentários podem estar em qualquer parte do programa. Só porque não usa comentários, não significa que os outros não o façam

Porque é tão retorcido como isto.

#define  MACRO(A,B)  A## \
                      B

void OnStart()
{
  int j2;
  int i = MACRO(j,2);
}


A propósito, parece um insecto.

#define  MACRO(A,B)  A##B

void OnStart()
{
  int i = MACRO(1,2); // '12' - undeclared identifier
}
 
fxsaber:

Porque é tão retorcido como isto.

A propósito, parece um insecto.

Nenhum argumento real - basta dizê-lo. Na sua mente não pode ser um insecto porque não o pode escrever dessa forma - é como substituir /**/ comentários no exemplo acima por espaços

#define  MACRO2( X, Y )  X## Y
 
A100:

Se não tem um argumento sólido, basta dizê-lo. Não pode ser um insecto na sua mente

void OnStart()
{
  int j2;
  int i = j/**/2;
}

E porque é que uma macro não deveria causar um erro neste lugar? Apenas não cite C++ como um argumento, onde alguém pensou por outros.