关于命名空间内引用其他头文件的问题

kevinlzk111 2013-09-02 08:33:39
假设我在a.h创建命名空间,然后在里面定义了类A,在a.cpp内实现类A的所有函数,但是实现需要调用另外一个类B的函数(同样这个类B也是定义在b.h文件,实现在b.cpp文件),所以我就在a.cpp文件最前面:#include "b.h",问题出现了:编译g++ -o a a.cpp b.cpp -I./时,提示我在a.cpp中调用B类的那个函数没有声明?请问各位大牛,是什么原因?
...全文
298 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
申祷无 2013-09-10
  • 打赏
  • 举报
回复
引用 5 楼 sv1yy 的回复:
[quote=引用 3 楼 azhou88 的回复:] 分开坑定没有问题的。放在一起你按照过程想一下就直到原因了。我是说执行的过程。当需要调用b的时候他的头文件在那里?老大这不是内联啊。
代码大概如下: // a.cpp #include <b.h> namespace aaa { // 里面调用不了b.h B类的接口 }[/quote] 你把
#include <b.h>
换成
#include "b.h"
试试。
kevinlzk111 2013-09-10
  • 打赏
  • 举报
回复
引用 6 楼 shendaowu 的回复:
[quote=引用 5 楼 sv1yy 的回复:] [quote=引用 3 楼 azhou88 的回复:] 分开坑定没有问题的。放在一起你按照过程想一下就直到原因了。我是说执行的过程。当需要调用b的时候他的头文件在那里?老大这不是内联啊。
代码大概如下: // a.cpp #include <b.h> namespace aaa { // 里面调用不了b.h B类的接口 }[/quote] 你把
#include <b.h>
换成
#include "b.h"
试试。[/quote] 还是不行。。。。
图灵狗 2013-09-09
  • 打赏
  • 举报
回复
++
引用 1 楼 shendaowu 的回复:
没有using或者::之类的东西?你没给代码我只能猜到这个了。
申祷无 2013-09-09
  • 打赏
  • 举报
回复
没有using或者::之类的东西?你没给代码我只能猜到这个了。
kevinlzk111 2013-09-09
  • 打赏
  • 举报
回复
引用 3 楼 azhou88 的回复:
分开坑定没有问题的。放在一起你按照过程想一下就直到原因了。我是说执行的过程。当需要调用b的时候他的头文件在那里?老大这不是内联啊。
代码大概如下: // a.cpp #include <b.h> namespace aaa { // 里面调用不了b.h B类的接口 }
kevinlzk111 2013-09-09
  • 打赏
  • 举报
回复
引用 1 楼 shendaowu 的回复:
没有using或者::之类的东西?你没给代码我只能猜到这个了。
B不在任何命名空间
azhou88 2013-09-09
  • 打赏
  • 举报
回复
分开坑定没有问题的。放在一起你按照过程想一下就直到原因了。我是说执行的过程。当需要调用b的时候他的头文件在那里?老大这不是内联啊。

65,189

社区成员

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

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