Скажем, у меня есть шаблон:
template <typename T>
class foo {
void do_someting(T obj) {
// do something generic...
}
};
и я хочу специализировать do_something, но внутри него я хочу вызвать "нормальную" функцию do_something:
template<>
void foo<MyObj>::do_something(MyObj obj) {
// do something specific...
// and ALSO do something generic!
}
Есть ли способ ссылаться на обычную версию do_something внутри моей специализированной функции? Или мне просто нужно скопировать код?
(Я знаю, что я мог бы рефакторировать foo таким образом, что у меня не было бы этой точной проблемы, но, как бы то ни было, я не могу реально изменить "реальный" foo, поскольку он сильно разделяет код.)