我的模板專業化不起作用。有誰知道我可以如何正確使用模板來實現此功能?在專業化和初級模板模板專業化由於未知的模板定義而失敗
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) –