конечно).
ОШИБКА:
template<class T>
struct A {
void f1() {};
void f2() {};
};
template<>
struct A<int> {
void f2() {};
};
int main() {
A<int> data;
data.f1();
data.f2();
};
По сути, я хочу специализировать только одну функцию и использовать общее определение для других функций. (В реальном коде у меня много функций, которые я не хочу специализировать).test.cpp: In function 'int main()':
test.cpp:16: error: 'struct A<int>' has no member named 'f1'
Как это сделать? Спасибо!
Рассмотрите возможность перемещения общих частей в базовый класс: