假设我有一个与原始指针一起使用的模板:
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)
声明非模板过载更容易(没有尖角支架).是否有理由我更喜欢删除模板实例化?