我有以下代码,它可以编译并且运行良好:
template<typename T>
T GetGlobal(const char *name);
template<>
int GetGlobal<int>(const char *name);
template<>
double GetGlobal<double>(const char *name);
然而我想移除“default”函数。也就是说,我想让所有对GetGlobal<t>的调用都出错,其中't'既不是int也不是double。
例如,GetGlobal<char>()应该在编译时出错。
我尝试过删除默认函数,但是如我所料,我收到了很多错误。那么有没有一种方法可以“禁用”它,并且只允许调用函数的专门版本呢?
谢谢!