明明定义了一个类,结果申明一个变量就提示没命名一个类型???

wesleyluo 2011-11-11 03:43:02
就像下面的:
已经定义了一个testClass类,test01.h,test01.cpp

现在在一个testInstance类中定义如下:test02.h, test02.cpp
#include "test01.h"
class testInstance
{

....

private:
testClass m_test; //现在老是提示这里的testClass没有命名一个类型????

}

但是单独编译是可以编译通过的,g++ -c test02.cpp是可以的;

我放到一个工程里面去就不行了;

我已经搜索了整个工程,没有重复的testClass定义;

请问各位可能是个什么情况啊?哪位大哥知道啊。
...全文
182 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wesleyluo 2011-11-11
  • 打赏
  • 举报
回复
终于被我找到了
原来是在test01.h中定义的宏被其他地方定义了,导致test01.h没有被包含。

结帐啦。
pengzhixi 2011-11-11
  • 打赏
  • 举报
回复
看看你的类型名字拼写是否一致吧
wesleyluo 2011-11-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 rach09 的回复:]

#include "test01.h"
改成绝对路径试一下呀
[/Quote]
这个试了还是一样。

[Quote=引用 2 楼 zhaghi 的回复:]

在options里面设置包含下头文件路径吧.
[/Quote]
我是在Linux下啊,没得设置。

[Quote=引用 3 楼 waistcoat06 的回复:]

.h文件中添加

C/C++ code
#if !defined(__XX__H)
#define __XX__H

//.... your code

#endif
[/Quote]
头文件里面都用了这样的
#ifndef XXX_XX_H
#define XXX_XX_H

#endif

[Quote=引用 4 楼 bdmh 的回复:]

确认test01.h和02在一个目录下
[/Quote]
都在include目录下。
bdmh 2011-11-11
  • 打赏
  • 举报
回复
确认test01.h和02在一个目录下
WaistCoat06 2011-11-11
  • 打赏
  • 举报
回复
.h文件中添加

#if !defined(__XX__H)
#define __XX__H

//.... your code

#endif
zhaghi 2011-11-11
  • 打赏
  • 举报
回复
在options里面设置包含下头文件路径吧.
rach09 2011-11-11
  • 打赏
  • 举报
回复
#include "test01.h"
改成绝对路径试一下呀

64,282

社区成员

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

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