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

 
Sergey Dzyublik :

내부 클래스를 사용할 때 템플릿 클래스 코드 생성과 관련된 또 다른 MT5(빌드 2316) 버그.
C++ 온라인: https://onlinegdb.com/HJkKXAqMU

올려주셔서 감사합니다 수정했습니다

 
Sergey Dzyublik :

버그 MT5(빌드 2340) 템플릿 함수의 템플릿 매개변수에 대한 내부 클래스에 액세스하려고 할 때 컴파일 오류가 발생 했습니다.

올려주셔서 감사합니다 수정했습니다

 
Ilyas :

파일이 어떤 인코딩으로 되어 있습니까?

표준 UTF-8에서

다른 인코딩과 다른 구분 기호를 사용하여 다양한 방법으로 시도했습니다.

결과는 5008 또는 상형 문자입니다.

 
Sergey Dzyublik :

MT5 컴파일러(빌드 2321) 작업에 대한 두 가지 질문:

1. C++의 템플릿 기능과 MQL의 템플릿 기능 실행 우선 순위 불일치(온라인: https://onlinegdb.com/Hkvz8Hu7L ).
따라서 C++에서 세 가지 템플릿 함수를 모두 사용할 수 있을 때 템플릿 함수는 결과 "C++:1"로 실행되고, 제거되면 "C++:2"가 실행되고 제거되면 "C++: 삼".
MQL에서 우선 순위는 "C++:2", "C++:1" 및 "C++:3"으로 완전히 다릅니다.


2. MQL에서 첫 번째 기능이 금지되는 이유는 명확하지 않지만 더미 매개변수가 있는 동일한 기능은 이미 허용됩니다.

올려주셔서 감사합니다 수정했습니다

 
Vladimir Pastushak :

표준 UTF-8에서

다른 인코딩과 다른 구분 기호를 사용하여 다양한 방법으로 시도했습니다.

결과는 5008 또는 상형 문자입니다.

연구용 파일과 함께 작업 코드를 제공하세요.

 

현장 작업의 경우:

가능한 경우 개인 계정의 잔액 표시가 약간 잘못되었습니다. 수정하십시오. 그렇지 않으면 0이 많이 있습니다.

파일:
q1.PNG  12 kb
 
Ilyas :

연구용 파일과 함께 작업 코드를 제공하세요.

 //+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
   core();
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {

  }
//+------------------------------------------------------------------+
void core()
  {
   string value = "" , name = "" ;

   name =   "Test\\Test.csv" ;
   Print ( FileIsExist (name));

   ResetLastError ();
 
   int m_hendle = - 1 ;
   m_hendle = FileOpen (name, FILE_READ | FILE_WRITE | FILE_CSV );
   if (m_hendle != INVALID_HANDLE )
     {
       Print (( string )m_hendle + "    " + name + " [" + ( string ) FileSize (m_hendle) + "]" + ( string ) GetLastError ());
       while (! FileIsEnding (m_hendle))
        {
         string sCurrent = FileReadString (m_hendle);
         Print ( "sCurrent = " , sCurrent);
        }
       FileClose (m_hendle);
     }
  }
//+------------------------------------------------------------------+
파일:
Files.zip  1 kb
 
Sergey Dzyublik :
C++에서는 컴파일되고 모든 것이 작동하지만(온라인: https://onlinegdb.com/Syn90dd7I ) MQL에서는 오류가 "'func' - 오버로드된 함수에 대한 모호한 호출"입니다.

올려주셔서 감사합니다 수정했습니다

 
Vladimir Pastushak :

표준 UTF-8에서

다른 인코딩과 다른 구분 기호를 사용하여 다양한 방법으로 시도했습니다.

결과는 5008 또는 상형 문자입니다.

ANSI 인코딩은 러시아어 Windows에서만 작동합니다.

파일을 열 때 FILE_ANSI 플래그 추가

m_hendle = FileOpen (name, FILE_READ | FILE_WRITE | FILE_CSV | FILE_ANSI );
 
Sergey Dzyublik :
템플릿 함수에 내부 구조체를 전달할 때 MT5 버그(빌드 2340), 결과 데이터 형식은 템플릿 클래스의 다른 내부 구조체에 대한 기본 데이터 형식으로 사용할 수 없습니다.

올려주셔서 감사합니다 수정했습니다
사유: