[완료] 클래스 템플릿에서 비타입인수의 부분 특성화

jinserk의 이미지

template <typename T, int a> class A
{
    A<T, a-1>* container_;
 
    A(int N) {
       container_ = new A<T, a-1> [N];
    }
};
 
 
template <typename T, int a> class A <T, 1>
{
    T* element_;
 
    A(int N) {
       element_ = new T [N];
    }
};

위와 같은 코드를 작성하고 싶습니다.
그런데 gcc 로 컴파일 해보면 template parameters not used in partial specialization 이란 에러가 나오네요.
저런 식의 코드를 동작시키고 싶을때 어떻게 하면 좋을까요?

감사합니다.

neogeo의 이미지

template <typename T> class A <T, 1>
{
    T* element_;
 
    A(int N) {
       element_ = new T [N];
    }
};

로 하시면 됩니다.

Neogeo - Future is Now.

Neogeo - Future is Now.

jinserk의 이미지

이런.. 정신이 없었네요.
정말 감사합니다. 전 또 비타입인수는 부분 특성화가 안되는줄.. >.<

Leo.