오류, 버그, 질문 - 페이지 2065

 
코믹 상황
 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 {};


두 경우 모두 상황이 비슷할 것이라고 생각했습니다. 하지만!

 
A급 내에서만 가능합니다. 저는 괜찮습니다.
 

fxsaber :

핸들로 파일 이름을 어떻게 알 수 있습니까?

내가 기억하는 한, 아니
 
Комбинатор :
A급 내에서만 가능합니다. 저는 괜찮습니다.

실수

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

이미 수정되었습니다. 새 빌드가 릴리스될 때까지 기다리세요.

 

ошибка

이미 수정되었습니다. 새 빌드가 릴리스될 때까지 기다리세요.

그들은 더 잘 봅니다. 오류 그래서 오류
 

MetaEditor는 파일 이름에 점을 추가합니다.

시퀀싱:

  • 탐색기에서 텍스트 문서 Test.txt를 만듭니다.
  • MetaEditor에서 File\Open을 통해 엽니다.
  • 그런 다음 파일\다른 이름으로 저장...을 선택합니다.


결과적으로 파일 이름은 Test2.txt 대신 Test2..txt가 됩니다.

메모장, 다른 사항이 동일하면 파일 이름에 추가 점을 추가하지 않습니다.
 

fxsaber :

이미 수정되었습니다. 새 빌드가 릴리스될 때까지 기다리세요.

비슷한 경우에 Microsoft 컴파일러는 어떤 이유로 메서드 구현을 빼야 하기 때문에 정확히 어떻게 수정되었는지 확인해야 합니다(이 경우 연산자 =) 수업 중

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
Общее обсуждение: Ошибки, баги, вопросы
 

이것은 언어의 잘못된 행동인 것 같습니다. 왜냐하면. 기회를 제한

 struct A {};

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


const 필드를 구조체로 설정해야 합니다. 복사 연산자가 작동할 것이라고 생각했지만 구문이 비슷하기 때문에 컴파일러는 대신 생성자를 원합니다. 그러나 그것은 옳지 않습니다.

 
잘못된 오류 메시지
 struct A
{
   const int i;
};

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

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

오류, 버그, 질문

fxsaber , 2017.05.19 22:35

TimeTradeServer 는 모든 종류의 넌센스를 반환할 수 있습니다. 예를 들어 값이 TimeCurrent보다 작습니다. 이것은 실제 적용을 완전히 무효화합니다.

내가 아이디어를 올바르게 이해했다면 터미널이 실행 중인 TimeTradeServer가 TimeCurrent를 수신한 후 경과 시간을 계산하고 이 차이를 추가하여 일종의 미래 TimeCurrent 값을 에뮬레이트해야 합니다.

이제 고문을 시작합니다.

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

void OnInit ()
{
   EventSetTimer ( 1 );
}

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

넌센스를 볼 수 있습니다

날짜에주의하십시오.


이것이 TimeTradeServer가 현지 시간을 반환하는 방법입니다. 올바른 행동에 대한 시정을 다시 한 번 부탁드립니다.