该主题的标题很长而且很神秘,但问题很简单。
我正在阅读14.8.1 Explicit template argument specification
最新的 C++11 规范草案(N3242=11-0012),第 375 页
6 如果参数类型不包含参与模板参数推导的模板参数,将对函数参数执行隐式转换(第 4 条)以将其转换为相应函数参数的类型。[注意:如果模板参数明确指定,则不参与模板参数推导。例如,
template<class T> void f(T);
class Complex {
Complex(double);
};
void g() {
f<Complex>(1); // OK, means f<Complex>(Complex(1))
}
——尾注]
有人可以向我解释一下,它想说什么以及示例中的转换发生在哪里。
谢谢 !