一个有关名字空间和函数模板的问题
//min.h//
#ifndef MIN_H
#define MIN_H
namespace my {
template<class T>
T show ( T num1 , T num2 ){
return num1 > num2 ? num1 : num2;
}
}
#endif
//test.cpp//
#include <iostream>
using std::cout;
using std::endl;
#include "min.h"
using my::show; // using namespace my;
int show ( int val1 , int val2 ) {
return val1 < val2 ? val1 : val2;
}
int main()
{
int a = 9;
int b = 1;
cout << show ( a , b ) << endl; // 可这里调用的是模板实例 !我认为这里应该调用
// show( int , int ) 的普通函数 , 当我把
// using my::show; 改为 using namespace my;之后
// 这里调用的就不是模板实例了 ,而是普通函数,
// 这是为什么?
return 0;
}