Я пишу класс массива. Этот класс массива может содержать снова массивы в качестве членов. При внедрении функции печати мне нужны специализации.
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 Если это имеет значение. Есть идеи, в чем проблема?
заранее спасибо, Томас