Специализация шаблона другой шаблоном (одного класса)

Я пишу класс массива. Этот класс массива может содержать снова массивы в качестве членов. При внедрении функции печати мне нужны специализации.

26:template <class T> class array : public vector<T>{
public:
    ...
       string* printToString();
    ...
};
...           
template <class T> string* array<T>::printToString(){
   ...  // generic function
}
template <> inline string* array<double>::printToString(){
   ...  // spezialization for double, works
}
561:template <class U> string* array<array<U>*>::printToString(){
   ...  // does not work
}

Последнее определение производит

src/core/array.h:561: error: invalid use of incomplete type ‘class array<array<T> >’
src/core/array.h:26: error: declaration of ‘class array<array<T> >’

Версия G ++ - G ++ (Ubuntu 4.4.3-4Ubuntu5) 4.4.3 Если это имеет значение. Есть идеи, в чем проблема?

заранее спасибо, Томас

6
задан Thomas Handorf 1 September 2011 в 10:20
поделиться