2012-10-12 7 views
1

템플릿 매개 변수 으로 개체를 인스턴스화하고 싶습니다. 매개 변수 중 하나는 배열에 대한 포인터이며 올바른 구문을 찾고 있습니다.템플릿 매개 변수로 배열 포인터

const MyCustomType* array[2] = { &object1, &object2 }; 

OBJ1 < 10, 10, array > myobj1; 

이하, 클래스 OBJ1의 샘플.

template < int a, int b, /* help ! */ > 
class OBJ1 
{ 
    public: 
    OBJ1(); 
    ~OBJ1(); 

    private: 
    //methods 
}; 

세 번째 템플릿 매개 변수를 사용하는 올바른 구문은 무엇입니까? 그게 가능한가? 형 크기의 INT N 구문의 배열에 대한

+0

이것은 배열에 대한 포인터가 아니며 [2] 포인터의 배열입니다. –

+0

@ BenjaminLindley 네가 맞아 : p – Patouf

답변

1

int (*paramname)[N]; 

또는 도우미 유형의 별명입니다

template<typename T> 
using type = T; 

그런 다음 경우

type<int[N]> *paramname; 

당신이 패스 배열에 대한 포인터가 아니라 첫 번째 요소에 대한 포인터. 배열을 전달할 때 후자를 수행하려면 배열 이름 앞에 &을 접두사로 사용해야합니다.

관련 문제