Erros, bugs, perguntas - página 2065

 
Situação cómica
class B;

class A
{
protected:  
  int i;

public:  
  void operator =( const B* Value )
  {    
    this.i = Value.i;       // 'i' - protected member access error
    
    // А так можно!
    this.i = ((A*)Value).i; // и нет ошибки: cannot convert from const pointer to nonconst pointer    
  }
};

class B : public A {};


Pensei que a situação seria a mesma em ambos os casos. Mas não!

 
Só se pode fazer isso dentro da Classe A. A mim parece-me bem.
 

fxsaber:

Como se sabe o nome de um ficheiro a partir da sua pega?

Tanto quanto me lembro, não há maneira
 
Комбинатор:
Só o pode fazer dentro da classe A. A mim parece-me bem.

erro

    this.i = Value.i;       // 'i' - protected member access error

já foi fixado, por favor aguarde pela nova construção.

 

ошибка

já foi fixado, por favor aguarde pela nova construção.

Eles sabem melhor. um erro é um erro
 

MetaEditor acrescenta um ponto ao nome do ficheiro

Sequência de operações:

  • No Explorer criar um documento de texto Test.txt
  • Abra-o no MetaEditor via File/Open
  • Depois seleccione File/Save As...


Como resultado, o nome do ficheiro será Test2..txt em vez de Test2.txt

O bloco de notas, sendo todas as outras coisas iguais, não acrescenta pontos extra ao nome do ficheiro
 

fxsaber:

já foi fixado, por favor aguarde pela nova construção.

Precisamos de ver exactamente como é fixado porque, num caso semelhante, o compilador Microsoft requer, por uma razão, levar a implementação do método (neste caso operador =) para fora da classe

https://www.mql5.com/ru/forum/1111/page2001#comment_5679732

https://www.mql5.com/ru/forum/1111/page2001#comment_5680465

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2017.08.29
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 

Este parece ser o comportamento errado para a língua, uma vez que limita as possibilidades.

struct A {};

class B
{
public:
  const A a;
  
  B( const A &in ) : a(in) // 'a' - constructor not defined
  {
  }
};


Preciso de definir um campo constante como uma estrutura. Pensei que o operador da cópia iria funcionar, mas o compilador quer antes um construtor, porque a sintaxe é semelhante. Mas não é correcto.

 
Mensagem de erro incorrecta
struct A
{
  const int i;
};

void OnStart()
{
  A a1, a2;
  
  a1 = a2; // '=' - not allowed for objects with protected members or inheritance
}
 

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

Insectos, insectos, perguntas

fxsaber, 2017.05.19 22:35

O TimeTradeServer pode devolver todo o tipo de disparates. Por exemplo, um valor inferior ao TimeCurrent. Isto anula completamente a sua aplicação prática.

Se entendi correctamente a ideia, o TimeTradeServer deve calcular o tempo decorrido após receber o TimeCurrent e adicionar esta diferença, uma espécie de emulação dos valores futuros do TimeCurrent.

Agora, depois de gerir o Expert Advisor

#define  TOSTRING(A) #A + " = " + (string)(A) + "\n"

void OnInit()
{
  EventSetTimer(1);
}

void OnTimer()
{
  Comment(TOSTRING(TimeTradeServer()) + TOSTRING(TimeCurrent()));
}

pode ver qualquer disparate.

Anote as datas.


É desta forma que o TimeTradeServer retorna a hora local. Mais uma vez, por favor, corrija o comportamento correcto.