Given the following program:
template <class T>
class A {
void f();
};
template <class T>
class B { };
template <class T>
void A<B<T> >::f() {
}
I get the error:
invalid use of incomplete type ‘class A<B<T> >’
Does this count as partial specialisation? I always thought partial specialisation was specialising only a struct subset of template parameters.
Is there any work around ao I can accomplish specialising a template with a templated type?