Перегрузка функции с несколькими определениями шаблонов невозможна?C++

Программы на C++. Форум разработчиков
Anonymous
Перегрузка функции с несколькими определениями шаблонов невозможна?

Сообщение Anonymous »

Я попробовал это:

Код: Выделить всё

template
void f(std::vector* a) {
// body for arithmetic P
}

template
void f(std::vector* a) {
// body for class P
}
Я думал, что это перегрузит f, поскольку условия являются взаимоисключающими, но обнаружил, что он не компилируется:

Шаблон функции уже определен.

Что делать вместо этого, если мне нужно тело функции f(std::vector< P>*) зависеть от того, является ли P арифметическим?

Подробнее здесь: https://stackoverflow.com/questions/527 ... t-possible

Вернуться в «C++»