我的模板专业化不起作用。有谁知道我可以如何正确使用模板来实现此功能?在专业化和初级模板模板专业化由于未知的模板定义而失败
template<class T>
float hz_to_nsec(const T &freq) {
return freq != 0 ? static_cast<float>(NSEC_PER_SEC)/freq : 0;
}
template <>
double hz_to_nsec<double>(const double &freq) {
return freq != 0 ? static_cast<double>(NSEC_PER_SEC)/freq : 0;
}
您可以重载而不是专门化。 (见例如http://stackoverflow.com/questions/7108033/template-specialization-vs-function-overloading) –