1
나는클래스 템플릿을 함수 인수로 사용하는 방법은 무엇입니까?
template<int a, int b>
class C {
public:
array[a][b];
}
의 라인을 따라 선언 된 클래스를 가지고 있고이 같은 함수에 인수로 사용하려는 :
bool DoSomeTests(C &c1, C &c2);
을하지만 컴파일 할 때, 그것은 '의 사용을 알려줍니다 클래스 템플릿 템플릿 인수 목록이 필요합니다. ' 시도했는데
template<int a, int b>
bool DoSomeTests(C &c1, C &c2);
하지만 같은 오류가 발생합니다. 이 문제를 어떻게 해결할 수 있습니까?
template<int a, int b>
bool DoSomeTests(C<a, b> &c1, C<a, b> &c2);
클래스 템플릿 C
와 함수 템플릿 두 DoSomeTests
두 int
템플릿 매개 변수를 사용하지만 당신은 매핑 할 사실 :
고마워요, 이제 내가보기에 꽤 분명해 보입니다 ^^. –
그리고 그것이 유추 될 수 없다는 이유는 당신이 잘 의미 할 수 있다는 것입니다 : 'bool DoSomeTests (C & c1, C & c2)'. 그것은 바보 같지만 행렬/벡터 곱셈에 대해 생각할 수도 있습니다.) –
다양한'a'와'b' 사이의 종속성이 사소하지 않으면 컴파일 타임에 유형 확인을 위해'enable_if'를 사용할 수도 있습니다. –