我想用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