【发布时间】:2018-02-07 02:39:28
【问题描述】:
我是模板新手,在阅读了如何制作模板后我正在尝试对此进行测试,但我遇到了编译错误,我的代码看起来与我从中获取的示例完全相同。我创建了一个函数并且我有一个模板,但是当我编译它时出现以下错误:
15 20 C:\Users\Fire\Desktop\test.cpp [Error] 重载 'max(int, int)' 调用不明确
15 20 C:\Users\Fire\Desktop\test.cpp [注意] 候选人是:
7 3 C:\Users\Fire\Desktop\test.cpp [注意] T max(T, T) [with T = int]
代码如下:
#include <iostream>
using namespace std;
template<typename T>
T max(T a, T b){
return (a > b)? a: b;
}
int main(){
cout << max<int>(10, 40);
return 0;
}
【问题讨论】:
-
永远不要说
using namespace std;。