下面是 “C++编程语言”C++模板函数重载
template<class T > T sqrt(T);
template<class T > complex<T> sqrt(complex<T>);
double sqrt(double);
void f(complex<double> z)
{
s q r t (2); // sqrt<int>(int)
sqrt(2.0) ; // sqrt(double)
sqrt(z) ; // sqrt<double>(complex<double>)
}
我不明白为什么开方(Z)线;请致电sqrt<double>(complex<double>)
可以任何机构请解释。
作者说, T sqrt<complex<T>>
比T sqrt <T>
更专业的,但有一个单独的声明template<class T > complex<T> sqrt(complex<T>);
为什么不利用呢?
对不起,我不明白sqrt(复杂)代表复杂 sqrt <复杂> –
yesraaj
2008-10-20 10:58:08