Como especializar apenas alguns membros de uma classe de modelo?
Código:
template<class T>
struct A {
void f1() {};
void f2() {};
};
template<>
struct A<int> {
void f2() {};
};
int main() {
A<int> data;
data.f1();
data.f2();
};
ERRO:test.cpp: In function 'int main()':
test.cpp:16: error: 'struct A<int>' has no member named 'f1'
Basicamente, quero apenas especializar uma função e usar a definição comum para outras funções. (No código real, tenho muitas funções que não quero especializar).
Como fazer isso? Obrigado!