Ci-dessous sont des lignes de "C++ langage de programmation"C++ fonction de modèle SURCHARGE
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>)
}
Je ne comprends pas pourquoi sqrt (z); appelle sqrt<double>(complex<double>)
peut tout organisme s'il vous plaît expliquer.
Auteur dit, T sqrt<complex<T>>
est plus spécialisé que T sqrt <T>
mais il y a une déclaration séparée pour template<class T > complex<T> sqrt(complex<T>);
pourquoi ne pas l'utiliser?
Désolé les gars je ne comprends pas sqrt (complexe ) représente complexe sqrt > –
yesraaj