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

 
MetaQuotes :

베타 2775로 업데이트하십시오.

이 문제가 해결되었습니다.

 //+------------------------------------------------------------------+
void OnStart ()
  {
   struct s_My
     {
       int             a;
       double          b;
       long            c;
     } my1;

   my1.a= 33 ;
   my1.b= 44.44 ;
   my1.c=- 55 ;


   Print (my1.c);
  }


이런게 더 있다

 
MetaQuotes :

베타 2775로 업데이트하십시오.

이 문제가 해결되었습니다.

덕분에 도움이 되었습니다. 하지만 이 베타에서는 제가 알려드리는 경우를 대비하여 비주얼 테스터를 시작할 수 없습니다.

up: 베타에서 릴리스로 롤백 기능이 없나요? 편안할 것입니다.

 

컴파일 중 오류


이전에는 모든 것이 잘 컴파일되었고 오류가 없었습니다.

 
A100 :

컴파일 중 오류

이전에는 모든 것이 잘 컴파일되었고 오류가 없었습니다.

디스크 공간이 부족할 때 발생했습니다.

 
Vladimir Pastushak :

디스크 공간이 부족할 때 발생했습니다.

충분한 여유 공간이 있습니다. 여러 번 실패한 시도 후에 컴파일된 파일을 다른 이름으로 동일한 폴더에 저장하고 모든 것이 정상으로 돌아갔습니다. 이전 버전(스크립트) 자체의 .ex5 파일도 정상적으로 실행됨 - 오류 없음

 
컴파일러 오류가 수정되지 않음
 template < typename T>
class A {
public :
         void f( int ) {}       //(1)
};
class B : public A< int > {
public :
         void f( int , int ) {} //(2)
};
void OnStart ()
{
        B b;
        b.A< int >::f( 1 ); // Error: 'A' - undeclared identifier
}
 
A100 :
일관성 없는 결과:

그래서 당신은 "ULONG 너머 *를 기어 나왔다.

 Print ( string ( ULONG_MAX ));
 2021.02 . 07 23 : 09 : 41.060 SFQ_data (Si- 3.21 ,M1)   18446744073709551615
 
prostotrader :

그래서 당신은 "ULONG 너머 *를 기어 나왔다.

예, 오버플로의 경우 극단적인 값이 반환된다는 불분명한 규칙을 찾았습니다.

 

Expert Advisor가 표시기로 변환된 경우 재컴파일 후 최소한 Navigator 창의 표준 아이콘은 즉시 변경되지 않고 터미널을 다시 시작한 후에만 변경됩니다. 같은 장소에서 메뉴 새로 고침 - 도움이 되지 않음

예상: 즉시

 
A100 :
컴파일러 오류가 수정되지 않음
 template < typename T>
class A
  {
public :
   void               f( int ) {}         //(1)
  };

class B : public A< int >
  {
public :
   void               f( int , int ) {}   //(2)
  };

void OnStart ()
  {
   B b;
//--- да, жаль, что не работает именно так, как вы написали, но
//если очень надо чтобы заработало без предупреждений компилятора
//касательно вызова скрытого метода, то можно попробовать вот такой
//временный костыль, пока не исправят
   A< int >* a_1= dynamic_cast <A< int >*>(&b);
//--- или вот так
   A< int >*a_2=(A< int >*)&b;
   a_1.f( 1 );
   a_2.f( 1 );
  }


 //--- либо совсем вот так
template < typename T>
class A
  {
public :
   void               f( int ) {}         //(1)
  };
class B : public A< int >
  {
public :
   void               f( int , int ) {}   //(2)
   void               f( int x) {A< int >::f(x);}
  };
void OnStart ()
  {
   B b;
   b.f( 'х'/'з' );
  }