这个问题似乎是一个经典的问题,但我没有找到答案:如何声明一个不会生成警告的结构?
我有两个C写的结构类型------结构类型A和结构类型B和B使用A而A同时使用B.
在啊:
#include "b.h"
struct B;
typedef struct A {
void (*func)(struct B* b);
}A;
在BH:
#include "a.h"
typedef struct B {
A a;
}B;
虽然这会工作,它的结果---使用函数乐趣,当 “功能”,如果我通过一个变量
B* someb;
不是:
形式声明struct B* someb;
编译时会出现警告,说不兼容的指针类型。这是正常的吗?我可以避免这种警告吗?
http:///stackoverflow.com/questions/252780/why-should-we-typedef-a-struct-so-often-in-c – Mat 2012-02-25 09:45:15
你尝试了什么? – 2012-02-25 09:47:45
对不起,但是我想要做什么我要**避免警告**,因为我想用“B someb;”定义变量而不是“struct B someb;”通过所有情况。那可能吗? – realjin 2012-02-25 09:55:43