我想根据输入变量的类型有不同的变量值。 代码:
template <typename T>
int getValue(vector<T> & data)
{
return something; // There should be 0 for int and 1 for double
}
谁知道如何实现这样的功能?
最佳答案
如果您只是处理 int
和 double
,那么您可以为不同类型的 vector 重载函数。
int getValue(vector<int> & data)
{
return 0;
}
int getValue(vector<double> & data)
{
return 1;
}
如果您想将 getValue
保留为模板函数并专用于 int
和 double
那么您可以使用
template<typename T>
int getValue(std::vector<T> & data)
{
return -1;
}
template <>
int getValue(std::vector<int> & data)
{
return 0;
}
template <>
int getValue(std::vector<double> & data)
{
return 1;
}
关于c++ - 不同的值取决于 C++ 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33081442/