Function templates can be fully specialized, and not partly.
The member functions of class templates are automatically functional templates, and they can indeed be specialized, but only completely:
template <> void Foo<int, Goo>::foo1() { }
You can partially specialize the entire class and then redefine it:
template <typename A> struct Foo<A, Goo> {
(for more details see 14.7.3.)
Kerrek SB
source share