다음 코드는 컴파일되지 않습니다. 이 인수 템플릿 메서드 enable_if 특수화
typename std::enable_if<std::is_void<Ret>::value, Ret>::type _on_dispatched() {
// ...
}
typename std::enable_if<!std::is_void<Ret>::value, Ret>::type _on_dispatched() {
// ....
}
내가 징벌이 무엇인지 유형에 따라 멤버 방법에 전문성을 갖고 싶어 소요 템플릿 클래스에서 두 가지 기능이 있습니다.
아무도 아이디어가 있습니까?
할 수 있습니다, 오버로드 중 하나는 통화 시간에 유일하게 가능한 한 경우. :) http://liveworkspace.org/code/fd6e5383610d4e0d8fb17c5497991355 – Xeo
@Potatoswatter : 사실, 아니, 농담이 아니 었어. 링크를 참조하십시오. 반환 유형 만 실행 가능 여부를 결정하는 경우 정확히 동일한 서명의 함수를 완벽하게 작성할 수 있습니다. : P 또한'std :: is_void()'을 사용하면'std :: true_type' 또는'std :: false_type'에서 파생되어야하는 형질이 필요합니다. –
Xeo
Btw, [멤버 함수를 C++ 11의 기본 매개 변수가있는 템플릿으로 만들 수 있습니다] (http://liveworkspace.org/code/781d94df5499998947217970c1aebf2a). – Xeo