考虑以下程序。
#include <iostream>
using namespace std;
int sum (int & a, int & b)
{
cout <<" NOn template function "<<endl;
return a+b;
}
template <typename T>
int sum ( const T & a, const T & b)
{
cout<<"Template Generated .."<<endl;
return a+b;
};
int main(int argc, char ** argv)
{
cout <<sum(10,20)<<endl;;
}
问题是什么:
我期待调用非模板函数的 sum() 。但是在我的输出模板中调用了初始化函数。它不是函数模板重载的一部分吗?
请指出我在这里犯了什么错误?