У меня есть следующий код, который компилируется и работает хорошо:
template<typename T>
T GetGlobal(const char *name);
template<>
int GetGlobal<int>(const char *name);
template<>
double GetGlobal<double>(const char *name);
Однако я хочу удалить функцию "по умолчанию". То есть, я хочу сделать все вызовы GetGlobal <t> где 't' не является int или двойной ошибкой.
Например, GetGlobal <char> () должно быть ошибкой времени компиляции.
Я попытался просто удалить функцию по умолчанию, но, как я себе представлял, я получил много ошибок. Так есть способ "отключить" его и разрешить вызовы только специализированным версиям функции?
Спасибо!