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

 
Stanislav Korotky :

예, 이론적으로 전체 MQL 구문이 삭제됩니다. 지금까지 새 빌드에서 소스 컴파일을 수정했습니다. 지퍼를 잠그겠습니다.

파일의 전체 계층 구조를 zip 없이 샌드박스에 넣을 수 있습니다.

 
fxsaber :

파일의 전체 계층 구조를 zip 없이 샌드박스에 넣을 수 있습니다.

가능하지만 옵션으로 zip이 필요할 것입니다. 최신 컴파일러에 맞게 조정된 https://www.mql5.com/en/articles/1971 기사의 소스 코드가 있습니까?

Работаем с ZIP-архивами средствами MQL5 без использования сторонних библиотек
Работаем с ZIP-архивами средствами MQL5 без использования сторонних библиотек
  • www.mql5.com
Однажды автора данной статьи привлекла интересная особенность функции CryptDecode, а именно — возможность распаковывать переданный ей ZIP-массив. Этот модификатор был введен разработчиками торговой платформы MetaTrader 5 для того, чтобы можно было распаковывать ответ некоторых серверов, используя стандартную функцию WebRequest. Однако из-за...
 
Stanislav Korotky :

가능하지만 옵션으로 zip이 필요할 것입니다. 최신 컴파일러에 맞게 조정된 https://www.mql5.com/en/articles/1971 기사의 소스 코드가 있습니까?

예, 압축 해제를 사용합니다. 다음은 작업 버전입니다.

 
fxsaber :

예, 압축 해제를 사용합니다. 다음은 작업 버전입니다.

나는 여전히 zip으로 작업하는 예에 쓰레기가 있습니다.

 2020.02 . 12 21 : 54 : 06.620 ZipTask1 (EURUSD,D1)     21 leaked strings left
2020.02 . 12 21 : 54 : 06.620 ZipTask1 (EURUSD,D1)     21 undeleted objects left
2020.02 . 12 21 : 54 : 06.620 ZipTask1 (EURUSD,D1)     21 objects of type KeyValuePair left
2020.02 . 12 21 : 54 : 06.620 ZipTask1 (EURUSD,D1)     2184 bytes of leaked memory

나는 그것을 내 스크립트에 집어넣었습니다. 같은 것입니다. 그것은 zip 라이브러리처럼 보입니다.

추신. Dictionary.mqh에 있음을 알았습니다.

 
Stanislav Korotky :

나는 여전히 zip으로 작업하는 예에 쓰레기가 있습니다.

나는 그것을 내 스크립트에 집어넣었습니다. 같은 것입니다. 그것은 zip 라이브러리처럼 보입니다.

추신. Dictionary.mqh에 있음을 알았습니다.

상용구 코드 스타일이 있습니다. 즉, 기능의 일부만 사용했기 때문에 문제가 발생하지 않았습니다.

 

왜 그런 템플릿을 만들 수 없습니까?

 struct A
  {
   int                i;
   double             d;
  };

template < typename T>
T f( int value)
  {
   T result;
   return (result);
  }
//+------------------------------------------------------------------+
void OnStart ()
  {
   A a;
   int i = 1 ;
   a = f(i);
  }
//+------------------------------------------------------------------+

패턴 불일치

'f' - 템플릿을 적용할 수 없습니다.

'f' 선언 참조

'f' - 매개변수가 참조로 전달됨, 변수가 예상됨

'f' - 매개변수가 참조로 전달됨, 변수가 예상됨

 

저장소에 완전히 고문당한 것. 일부 파일은 일반적으로 저장소로 전송되고 일부는 다음으로 전송되지 않습니다.

그리고 가장 중요한 것은 \MQL5\ 폴더에 삭제할 mql5.storage 파일이 없다는 것입니다.


그는 지금 어디에 있습니까?

 
Igor Makanu :

왜 그런 템플릿을 만들 수 없습니까?

템플릿이 작동하는 방식에 대해 완전히 잘못된 생각을 하고 있는 것 같기 때문입니다.

   a.i = f< int >(i);

그들이 원했던 "기적"은 일어나지 않을 것입니다.

 
Igor Makanu :

왜 그런 템플릿을 만들 수 없습니까?

템플릿은 출력 값이 아닌 매개변수로만 유형을 추론하기 때문입니다.

 
fxsaber :

템플릿이 작동하는 방식에 대해 완전히 잘못된 생각을 하고 있는 것 같기 때문입니다.

그들이 원했던 "기적"은 일어나지 않을 것입니다.

컴파일러는 내가 상상하는 템플릿을 어떻게 변환합니까? 새로운 것은 아니지만 동일한 방식으로 작동합니까?

 struct A
  {
   int                i;
   double             d;
  };

template < typename T>
void f( int value,T &result)
  {
   T tmp;
   result = tmp;
  }
//+------------------------------------------------------------------+
void OnStart ()
  {
   A a;
   int i = 1 ;
   f(i,a);
  }
//+------------------------------------------------------------------+
안드레이 트루하노비치 :

템플릿은 출력 값이 아닌 매개변수로만 유형을 추론하기 때문입니다.

물론, 내가 뭔가를 고려하지 않았다는 희망이있었습니다.

좋아요, 중요하지 않습니다. 매개변수를 통해 작동합니다.