Bri*_*ian 6
无需像 Mayolo 的回答那样定义函子。您可以简单地专门化一个函数模板:
#include<iostream>
template<typename T>
T foo();
template<>
int foo() {
return 5;
}
template<>
double foo() {
return 8.0;
}
int main() {
std::cout << foo<int>() << "\n";
std::cout << foo<double>() << "\n";
}
自己试试吧!
bol*_*lov 5
在您的情况下,模板变量可能更有意义:
template <class T> constexpr T abc;
template <>
constexpr inline int abc<int> = 5;
template <>
constexpr inline float abc<float> = 8.5f;
int main()
{
int i = abc<int>;
float f = abc<float>;
long x = abc<long>; // error
}
更多推荐
函数,参数,而不,可以根据,创建一个
发布评论