+ -
当前位置:首页 → 问答吧 → gdb调试问题。。

gdb调试问题。。

时间:2010-11-29

来源:互联网

代码:
#include <iostream>
#include <string>
#include <vector>
using namespace std;

template <typename elemtype>
elemtype max(elemtype elem1, elemtype elem2)
{
        if (elem1 > elem2)
                return elem1;
        else
                return elem2;
}

int main()
{
        int num1 = 4, num2 = 5;
        cout << max(num1, num2);

        return 0;
}


编译后报错:
test.cpp: In function ‘int main()’:
test.cpp:18: 错误: 调用重载的‘max(int&, int&)’有歧义
test.cpp:7: 附注: 备选为: elemtype max(elemtype, elemtype) [with elemtype = int]
/usr/include/c++/4.3/bits/stl_algobase.h:210: 附注: const _Tp& std::max(const _Tp&, const _Tp&) [with _Tp = int]

请指教~~

作者: feirainy   发布时间: 2010-11-29

似乎跟库函数max冲突了。。。因为我把max函数的名字改了以后就可以了~~

可是是哪个头文件导致的?~~

作者: feirainy   发布时间: 2010-11-29