下面是 「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