我想用C++模板实现一个非常简单的事情。我想要构建一个通用符号函数,它可以处理sgn(x)
的情况,其中x可以是double
或std::vector<double>
(即返回包含结果的std::vector<double>
)。为了做到这一点,我使用的模板使用向量而不是双打作为输入的模板
double f(double x) {
return (x>=0)?1.0:-1.0;
};
template<typename T>
T F(T x) {
// ?
};
我想投的模板,或者使用f
如果double
或for
循环,如果std::vector<double>
。不幸的是我的函数不使用任何算术运算符,并且条件运算符不能被重载。我应该如何继续?
为什么在这里使用模板?你应该重载这个函数。 – 2012-07-10 12:18:42