相关疑难解决方法(0)

何时删除模板实例化比删除非模板重载更好?

假设我有一个与原始指针一起使用的模板:

template<typename T>
void processPointer(T* ptr);
Run Code Online (Sandbox Code Playgroud)

我不希望用void*指针调用它.看来我有两个选择.我可以删除非模板重载:

void processPointer(void*) = delete;
Run Code Online (Sandbox Code Playgroud)

或者我可以删除模板实例化:

template<>
void processPointer<void>(void*) = delete;
Run Code Online (Sandbox Code Playgroud)

声明非模板过载更容易(没有尖角支架).是否有理由我更喜欢删除模板实例化?

c++ templates overloading c++11

21
推荐指数
2
解决办法
1638
查看次数

标签 统计

c++ ×1

c++11 ×1

overloading ×1

templates ×1