函数调用与参数的关系

来源:互联网 发布:淘宝店铺宝贝主图尺寸 编辑:程序博客网 时间:2024/05/03 17:39
 
namespace X{template <typename T> void f(T);}namespace N {using namespace X;enum E { e1 };void f(E) {cout<<"N::f(E)"<<endl;}//void f(int) //如果打开这个函的话,作用域N里面的函数f就和外面的产生了歧义.//{//}}void f(int){cout<<"::f(int)"<<endl;}int _tmain(int argc, _TCHAR* argv[]){// int型形参::f(1);// 输出::f(int)f(1);// 输出::f(int)cout<<endl;// 改变形参::f(N::e1);// 输出::f(int)f(N::e1);// 输出N::f(int), 这里为什么改变参数后调用到namespace N里面了呢?cout<<endl;// 加上using namespaceusing namespace N;::f(1);// 输出::f(int)f(1);// 输出::f(int), 这里虽然声明了using namespace N;但还是调用的外面的函数.cout<<endl;// 改变形参using namespace N;::f(N::e1);// 输出::f(int)f(N::e1);// 输出N::f(int)getchar();return 0;}
由此可见,函数的调用是和参数相关的..
原创粉丝点击