2014-10-17 12 views
1

을 금지하고 있습니다.명시 적으로 내가 클래스 템플릿을 가지고 구체적인 클래스 템플릿 특수화

template<> 
struct variant<>; 

그러나 그것은 너무 분명하지 않다 : 나는 다음과 같은 작업을 수행 할 수 내 변형 라이브러리 헤더의 많이 포함 된 경우의 앞으로 선언하지 전문화 이상 여부, 다음이 아니라 분명하다 클래스, 아래 어딘가에 정의. 내 마음에, 이상적인 가상 솔루션은 다음과 같습니다

template<> 
struct variant<> = delete; 

이 명시 적으로 더 큰 정도에 보이지만, 슬프게도, 차례로, C++ 구문에 의해 금지.

설명 된 의도를 충족시키는 가장 명확한 방법은 무엇입니까?

답변

2

, 당신이 '는`variant` 매우 어려운 합병증을 수반

template<typename T, typename ...bounded_types > 
struct variant 
{}; 
+0

에게이 방법을 수행 할 수 있습니다 디자인. – Orient