假设我有一个使用原始指针的模板:
声明非模板重载更容易(没有与尖括号混在一起)。是否有理由我更喜欢删除模板实例化呢?
假设我有一个使用原始指针的模板:
template<typename T>
void processPointer(T* ptr);
我不希望使用 void*
指针来调用此函数。看起来我有两个选择。我可以删除一个非模板重载:
void processPointer(void*) = delete;
或者我可以删除一个模板实例化:
template<>
void processPointer<void>(void*) = delete;
声明非模板重载更容易(没有与尖括号混在一起)。是否有理由我更喜欢删除模板实例化呢?