【发布时间】:2019-10-21 17:42:33
【问题描述】:
我正在学习 c++ 中的模板,我找到了以下示例。
据我了解,如果没有匹配的非模板函数,编译器应始终尝试使用最“专业”的模板,但在此示例中,第一次调用导致调用函数 a(T*) 而不是一个(整数*)。为什么?为什么第二次调用会有所不同?
模板void a(T) {cout void a(int*) {cout void a(T*) {cout 无效 b(T) {cout 无效 b(T*) {cout void b(int*) {cout 结果输出是:
(T*) (int)我希望它是:
(int) (int)
【问题讨论】: