我希望有两个可以互相包含的结构.这是一个例子:
struct a {
struct b bb;
};
struct b {
struct a aa;
};
Run Code Online (Sandbox Code Playgroud)
但是这段代码没有编译.gcc说:
test.c:3: error: field ‘bb’ has incomplete type
Run Code Online (Sandbox Code Playgroud)
有没有办法实现这个目标?
Ebo*_*ike 26
这应该怎么样?a将包含b,将包含a,将包含b,等...
我想你想用指针代替?
struct b;
struct a {
struct b *bb;
};
struct b {
struct a *aa;
};
Run Code Online (Sandbox Code Playgroud)
即便如此,编码风格也不好 - 如果可能的话,应该避免循环依赖.
struct a;
struct b;
struct a{
struct b *bb;
};
struct b{
struct a *aa;
};
Run Code Online (Sandbox Code Playgroud)
大多数头文件在定义其成员之前声明结构.结构定义将在其他地方定义.
| 归档时间: |
|
| 查看次数: |
9628 次 |
| 最近记录: |