为了账号安全,请及时绑定邮箱和手机立即绑定

using namespace XXX 和 using XXX:xxx; 的问题.

using namespace XXX 和 using XXX:xxx; 的问题.

C++
慕莱坞森 2019-03-02 18:25:54
using namespace Exercise; 不会导致 ival 的 redeclaration,但是 using Exercise::ival; 反而会导致 redeclaration 是为什么;如下面的代码:#include <iostream>using namespace std;namespace Exercise {    int ivar = 0;    double dvar = 0;    const int limit = 1000; }// using namespace Exercise;using Exercise::ivar;int ivar = 0;
查看完整描述

2 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

命名空间就是解决命名冲突问题的,不过你那个using Exercise::ivar;相当于declare了一遍Exercise里的ivar变量,就是说冲突的不是ivarusing Exercise::ivar,而是你又declareusing Exercise::ivar
以下代码就没问题了,因为没有再次declareusing Exercise::ivar

查看完整回答
反对 回复 2019-03-02
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

#include <iostream>using namespace std;namespace Exercise
{    int ivar = 0;    double dvar = 0;    const int limit = 1000;
}// using namespace Exercise;int ivar = 0;int main(){    cout<<Exercise::ivar;    cout<<ivar;    return 0;
}


查看完整回答
反对 回复 2019-03-02
  • 2 回答
  • 0 关注
  • 772 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信