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

 
A100 :
수업에서 메소드를 꺼내는 기능이 편리하다는 의미입니다.

글쎄요, 그게 당신이 고통받는 방식이고 고통받는 방식이며 특정 비밀을 알아야한다는 것이 밝혀졌습니다)

그들은 또한 템플릿 클래스의 전문화를 가지고 있습니까? 어떤 영리한 방법으로. 그리고 오래전부터 서비스데스크에서 이것에 대해 여쭤봤는데 묵묵부답입니다. 비밀도 있어야 합니다. 주사)

 
Alexey Navoykov :

그들은 또한 템플릿 클래스의 전문화를 가지고 있습니까?

오래전에!

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

오류, 버그, 질문

fxsaber , 2017.08.16 13:19

 typedef void (*fn)();

template < typename T>
void g( T Value ) { Print ( typename (Value)); }
void f() {}

void g( fn Value ) { Print ( typename (Value)); }
void OnStart ()
{
        g( f ); // void(*fn)()
}

아니면 다른 의미인가요?


ZY를 찾았 습니다.

 
fxsaber :

오래전에!

아니면 다른 의미인가요?

ZY를 찾았 습니다.

아니요, 저는 함수가 아니라 클래스 템플릿에 대해 이야기하고 있었습니다.

그건 그렇고, 함수 템플릿의 전문화는 아직 실제로 구현되지 않았습니다. 어떤 이유로 귀하의 링크에 따라 "전문화"라고 불렀다는 사실은 실제로 완전히 다릅니다. 그리고 이제 특정 유형으로 오버로딩할 가능성만 있습니다. 사실, 이것은 모든 오버로드된 함수의 서명 ID에 대한 컴파일러 제어가 없다는 유일한 차이점을 제외하고는 전문화와 거의 동일합니다. 그리고 이것은 함수가 코드의 다른 위치에 있을 때 필요합니다.

 
A100 :

훨씬 더 편리합니다.

전문성이 없는 상황에서
 
Alexey Navoykov :

그건 그렇고, 함수 템플릿의 전문화는 아직 실제로 구현되지 않았습니다. 어떤 이유로 귀하의 링크에 따라 "전문화"라고 불렀다는 사실은 실제로 완전히 다릅니다. 그리고 이제 특정 유형으로 오버로딩할 가능성만 있습니다. 사실, 이것은 모든 오버로드된 함수의 서명 ID에 대한 컴파일러 제어가 없다는 유일한 차이점을 제외하고는 전문화와 거의 동일합니다. 그리고 이것은 함수가 코드의 다른 위치에 있을 때 필요합니다.

예가 없으면 이해할 수 없습니다.

 
fxsaber :

예가 없으면 이해할 수 없습니다.

사실 거기에서 '거의 똑같다'고 과장했다. 차이가 상당하기 때문에 함수 인수 만 오버로드할 수 있으며 인수와 관련되지 않은 다른 유형 이름이 템플릿에 있을 수 있습니다. 그리고 그들은 전문화 될 수 있습니다. 다음은 인수가 전혀 없는 예제 템플릿입니다.

 template < typename T>
void f() { }

template <>
void f< int >() { }
 
Alexey Navoykov :
논쟁 없는 전문화? )) 당신은 무엇을 전문으로 할 것인가?
 
Комбинатор :
논쟁 없는 전문화? )) 당신은 무엇을 전문으로 할 것인가?
글쎄, 그것은 당신이 해결할 함수 본문 에서입니다. 그리고 이것은 무엇입니까? 나는 종종이 필요가 있습니다. 우리는 매우 목발인 가상 매개변수의 전송을 통해 빠져나와야 합니다.
 
Alexey Navoykov :
그리고 이것은 무엇입니까?
컴파일하고 실행하는 것이 프로에서 밝혀지면 아무것도 아닙니다)
 

빌드 1650으로 업데이트한 직후, 컴파일되지 않은 Draw Expert Advisor를 Navigator\Favorites에서 차트로 드래그하면 MQL5를 쓰는 대신 'Draw.ex5' 파일을 열 수 없습니다. -> ExpertMACD라는 다른 Expert Advisor가 실행됩니다.

Draw의 컴파일이 완료된 후 모든 것이 수정되었지만 사실

추가할 내용: 상황이 반복적입니다. 컴파일되지 않은 Expert Advisor 대신 ExpertMACD가 실행됩니다.