读书人

C++中模版到底该怎么实例化

发布时间: 2013-03-19 17:22:05 作者: rapoo

C++中模版到底该如何实例化?
在看C++程序设计语言(特别版)时,看到300页如下代码:
template<class T> T sqrt(T);
template<class T> complex<T> sqrt(complex<T>);
double sqrt(double);
void f(complex<double> z)
{
sqrt(2); //sqrt<int>(int)
sqrt(2.0); //sqrt<double>(double)
sqrt(z); //sqrt<double>(complex<double>)
}
我不明白为什么最后一个调用实例化的是sqrt<double>(complex<double>),有哪位大神能解释解释,或者推荐一些讲解模版实例化的文章?????????????? C++模版 模版实例化 C++特别版
[解决办法]
sqrt<double>(complex<double>)
在这里sqrt<double>的<double>是指class T=double,不是指函数的返回值是double。

读书人网 >C++

热点推荐