关于名字空间的一个问题

fish_phenix 2010-04-30 11:05:27
a.hpp

namespace a
{
void fun() {}
}


b.cpp
namespace b
{

}

我现在想在b里使用a名字空间的函数,该怎么使用啊


我在b中包含a的头文件,也没用

例如

b.cpp
#include "a.h"
using namespace a;

namespace b
{

}




紧急,在线等
...全文
74 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
paulpeath 2010-04-30
  • 打赏
  • 举报
回复
使用时加::标示符.
如调用函数fun时采用:
a::fun();
Eleven 2010-04-30
  • 打赏
  • 举报
回复
使用作用域标识符。。。。
ImJaden 2010-04-30
  • 打赏
  • 举报
回复
// out2.cpp

#include "out.h"

#include <iostream>

// using namespace Outer; // 编译错误,因为变量i和函数f()有名称冲突

using namespace Outer::Inner;

using namespace std;

int main ( ) {

Outer::i = 0;

Outer::f(); // Outer::i = -1;

f(); // Inner::f(),Outer::i = 0;

i = 0; // Inner::i

g(); // Inner::g(),Inner::i = 1;

h(); // Inner::h(),Inner::i = 0;

cout << "Hello, World!" << endl;

cout << "Outer::i = " << Outer::i << ", Inner::i = " << i << endl;

}


参考一下用法,学一下怎么使用::全局符。运行看一下结果就应该知道是怎么回事了
mskmc_mc 2010-04-30
  • 打赏
  • 举报
回复
请参考名字空间名字解析
pengzhixi 2010-04-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 paulpeath 的回复:]
使用时加::标示符.
如调用函数fun时采用:
a::fun();
[/Quote]

这样用就是了
lijinfenghust 2010-04-30
  • 打赏
  • 举报
回复
#include "a.hpp" ?
zrcvic 2010-04-30
  • 打赏
  • 举报
回复
呃……应该这样用:
namespace B {
using A::f;
// 或者是 using namespace A;
}

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧