c++ 中名空间中using 引入的细节

如果在引入名空间中的特定成员函数的时候, 全局不能定义同名的函数,但是其实只要参数不同就行

namespace a{
	int x = 1;
	int fun()
	{
		return 0;
	}
}

using namespace a;
using a::fun;

void fun(int x)
{
	
}
int x = 10;
int main()
{
	fun(10);
}

上面就是一个正确的示例

namespace a{
	int x = 1;
	int fun()
	{
		return 0;
	}
}

using namespace a;

void fun()
{
	
}
int x = 10;
int main()
{
	fun();  // 错误的
	::fun(); // 正确的
	a::fun(); //正确的
}

上面这个代码如果不去调用fun函数的话不会报错,如果想要调用的话就要指名调用哪一个

你可能感兴趣的:(c++,c++,算法,数据结构)