嵌套定义结构体

suzena 2006-10-10 08:40:38
我在使用嵌套的结构体前,先声明了该结构体,但是却还是出现了“error C2079: 'BB::aa' uses undefined struct 'AA'”的错误,请问是怎么回事?如何解决这个问题,谢谢!

#include "stdafx.h"

struct AA;
struct BB;

struct BB
{
int i;
AA aa;
};

struct AA
{
double j;
BB bb;
};
int _tmain(int argc, _TCHAR* argv[])
{
AA a;
a.j = 0.5;

BB b;
b.i = 109;

return 0;
}
...全文
134 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
YoungBee611 2006-10-10
  • 打赏
  • 举报
回复
如果用楼主嵌套的还存在逻辑问题,成了递归形式,编译器也头痛拉.昆仑和三星大哥从语法角度分析,回答清楚.
suzena 2006-10-10
  • 打赏
  • 举报
回复
搞定了,谢谢,回答的还真是快
dushunwei 2006-10-10
  • 打赏
  • 举报
回复
路过!!!
jixingzhong 2006-10-10
  • 打赏
  • 举报
回复
struct AA;
struct BB;

struct BB
{
int i;
AA *aa;//由于 AA 类型只是声明,没有定义,那么定义变量是不可行的,只能是指针
};

struct AA
{
double j;
BB bb; //这里, BB 已经定义, 可以定义一个BB类型
};
jixingzhong 2006-10-10
  • 打赏
  • 举报
回复
你只能欠套 指针类型
lann64 2006-10-10
  • 打赏
  • 举报
回复
不能这样用,先初始化AA时,BB还不存在,初始化BB时,AA没构造好,也不存在。
要是用指针倒是可以。
struct BB
{
int i;
AA* aa;
};

struct AA
{
double j;
BB* bb;
};

64,637

社区成员

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

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