首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

名字空间的有关问题

2012-08-11 
名字空间的问题#includeiostreamnamespace a{int b5}namespace c{int b8}int main(){using name spa

名字空间的问题
#include<iostream>
  namespace a
{
  int b=5;
}
namespace c
{
int b=8;
}

int main()
{
using name space a;
using namespace c;
std::cout<<b<<std::endl;
return 0
}
名字空间为什么不会互顶呢,这样的话不是很容易错吗?

[解决办法]
代码中声明了a和c两个命名空间都使用,下面这句自然出错,
std::cout<<b<<std::endl; 明显这一句中的了有二义性,无法知道b是namespace a还c下的,使用前要加上命名空间说明用的是哪一个空间下的b,改成:
std::cout<<a::b<<std::endl;或
std::cout<<c::b<<std::endl;

热点排行