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

 

러시아어에서 영어로 전환하면 터미널을 다시 시작하면 "취소" 버튼이 러시아어로 계속 표시됩니다. XP SP3 승리

 

과부하가 걸리지 않는다

 class A {};
void f( const A& ) { Print ( 1 ); } //1:
void f(       A& ) { Print ( 2 ); } //2:
void OnStart ()
{
              A a1;
         const A a2;
        f( a1 ); // ошибка компиляции
        f( a2 ); // нормально, вызывается 1: f( const A& )
         
}

그리고 오류가 2를 호출하는 것을 방지하는 것은 무엇입니까? f( A& ) ?

이 경우 포인터는 정상적으로 오버로드됩니다.

 void f( const A* ) { Print ( 1 ); }
void f(       A* ) { Print ( 2 ); }
void OnStart ()
{
              A *a1;
         const A *a2;
        f( a1 ); //нормально
        f( a2 ); //нормально
}
 

컴파일 오류

 void g( int &  array[] ) { Print ( __FUNCTION__ ); }
void h( long & array[] ) { Print ( __FUNCTION__ ); }
template < typename T>
void f( T& t[] )
{
         if (       typename ( T ) == "int"   ) g( t ); //Ошибка: parameter conversion not allowed
         else if ( typename ( T ) == "long" )  h( t ); //Ошибка: parameter conversion not allowed
}
void OnStart ()
{
         int   i[ 1 ];
         long j[ 1 ];
        f( j );
        f( i );
}

그래서

 void g( int   array ) { Print ( __FUNCTION__ ); }
void h( long array ) { Print ( __FUNCTION__ ); }
template < typename T>
void f( T t )
{
         if (       typename ( T ) == "int"   ) g( t );
         else if ( typename ( T ) == "long" ) h( t );
}
void OnStart ()
{
         int   i;
         long j;
        f( j );
        f( i );
}
좋아
 
Vladimir Zubov :

러시아어에서 영어로 전환하면 터미널을 다시 시작하면 "취소" 버튼이 러시아어로 계속 표시됩니다. XP SP3 승리

Windows가 러시아어이기 때문입니다. 시스템 자체가 자체 언어로 시스템 버튼에 서명합니다.
 
Vladimir Zubov :
고문이 표준 표시기 호출을 사용한 다음 "hello"도 사용하는 것으로 나타났습니까?

아니요.

이것은 순전히 인터페이스 결함입니다.

 
A100 :

컴파일 오류

그래서

좋아
1769811에 보고된 대로 : 맞습니다. 여기서 함수 템플릿의 명시적 특수화를 사용해야 합니다. 불행히도 현재 컴파일러에서 지원하지 않지만 구현은 계획에 있습니다.
Явная специализация шаблонов функций
Явная специализация шаблонов функций
  • msdn.microsoft.com
Используя шаблон функции, можно указать особое поведение для определенного типа, предоставив явную специализацию (переопределение) шаблона функции для этого типа.
 

안녕하세요! 노비를 안내해주세요. MT5는 거래가 아니라 일부 "무작위" 데이터의 소스로 사용됩니다(내 변덕이 아닌 이유는 묻지 마십시오). 틱 단위로 측정된 과거 데이터를 얻을 수 있습니까? (초당 여러 번 입찰가 및 요청 변경에 대한 데이터가 필요합니다) 어디서 파나요? 지표를 테스트 할 때 MT5가 데이터를 펌핑한다는 것을 알고 있습니다. 사용 방법은 무엇입니까?

작업은 현재 틱을 특정 서비스로 보내는 사용자 지정 표시기를 작성하는 것입니다(이것은 문제가 아닙니다). M1이 아닌 틱으로 기록 데이터를 얻는 방법을 찾지 못했습니다.

 
iZer0 :

안녕하세요! 노비를 안내해주세요. MT5는 거래가 아니라 일부 "무작위" 데이터의 소스로 사용됩니다(내 변덕이 아닌 이유는 묻지 마십시오). 틱 단위로 측정된 과거 데이터를 얻을 수 있습니까? (초당 여러 번 입찰가 및 요청 변경에 대한 데이터가 필요합니다) 어디서 파나요? 지표를 테스트 할 때 MT5가 데이터를 펌핑한다는 것을 알고 있습니다. 사용 방법은 무엇입니까?

작업은 현재 틱을 특정 서비스로 보내는 사용자 지정 표시기를 작성하는 것입니다(이것은 문제가 아닙니다). M1이 아닌 틱 단위로 기록 데이터를 얻는 방법을 찾지 못했습니다.

CopyTicks( _Symbol ,tick_array,COPY_TICKS_ALL, 0 ,ticks);
.
 
pako :
팁 고마워. 그러나 설명에 따르면 터미널의 작업 세션에 대한 틱이 발생합니다. 실제 기록 데이터를 얻는 방법(물론 공급자가 필요한 수준의 세부 정보를 제공하는 경우). 전용하십시오 - 터미널이 이 데이터 자체를 펌핑합니까? (본질적으로 그에게서 그들을 데려가기 위해). 무엇이 과거 데이터의 깊이를 결정합니까?
 
iZer0 :
귀하가 직접 수집(파일에 작성)하는 경우에만 입찰 및 매도호가(현재)를 받게 됩니다. CopyTicks는 2000틱만 반환합니다.