конечно).

ОШИБКА:

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'

Как это сделать? Спасибо!

Рассмотрите возможность перемещения общих частей в базовый класс:

Ответы на вопрос(3)

Ваш ответ на вопрос