郁闷了一天~~help help me~~关于前向引用声明的使用

whyman 2007-04-15 09:52:55
有这样四个文件aaa.h, aaa.cpp, bbb.h, bbb.cpp分别如下
/***aaa.h***/
class BBB;
class AAA
{
private:
BBB *b;
public:
AAA(void);
void test();
};

/***aaa.cpp***/
#include "aaa.h"
#include "bbb.h"
AAA::AAA(void)
{
b = new BBB();
}

/***bbb.h***/
class AAA;
class BBB
{
public:
BBB(void);
void bbbbbbbb(AAA &a);
};

/***bbb.cpp***/
#include "bbb.h"
#include "aaa.h"
BBB::BBB(void)
{
}
void BBB::bbbbbbbb(AAA &a)
{
a.test();
}

生成工程时出现了:
前向引用声明 error LNK2019: 无法解析的外部符号 "public: void __thiscall AAA::test(void)" (?test@AAA@@QAEXXZ) ,该符号在函数 "public: void __thiscall BBB::bbbbbbbb(class AAA &)" (?bbbbbbbb@BBB@@QAEXAAVAAA@@@Z) 中被引用

请问应该如何解决啊?
...全文
187 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
al0n9 2007-04-15
  • 打赏
  • 举报
回复
你的AAA::test() 函数的实现在什么地方?只有申明,没有定义,当然会这样啦

64,644

社区成员

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

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