2015-01-02 3 views
0

우리가 일반 함수 포인터가 있다고 가정?템플릿 함수 포인터

template <class ArgT, class RetT, class F> 
class B { 
    A<ArgT, RetT, F> test; 
}; 

...이 아닌가요?

class C { 
    template <class ArgT, class RetT, class F> 
    A<ArgT, RetT, F> test; 
}; 

오류 C3857 : 'C : 시험은'여러 템플릿 매개 변수 목록은 내가 그렇게 할 수있는 방법을, 내가 마지막 예 (클래스 C)에서 같은 클래스를 정의 할 필요가

허용되지 않습니다?

+1

왜냐하면 의미가 없기 때문입니다. 어떻게 그것을 사용할 수 있으며 그것을 어떻게 생성 할 수 있습니까? –

+1

'sizeof (C)'는 무한합니다^_^ – Jarod42

+0

답장을 보내 주셔서 감사합니다. –

답변

1

변수에는 템플릿이 없어야합니다. 사실 클래스와 함수는 템플릿을 가질 수 있습니다.

편집 : Alan Stokes이 말한 것처럼 C++ 14에서는 변수에도 템플릿이있을 수 있습니다.

+3

C++ 14까지 : http://en.cppreference.com/w/cpp/language/variable_template –

+0

@AlanStokes : 감사합니다! –