我的结构定义为
50 struct nf_hook_state {
51 unsigned int hook;
52 int thresh;
53 u_int8_t pf;
54 struct net_device *in;
55 struct net_device *out;
56 struct sock *sk;
57 struct net *net;
58 struct list_head *hook_list;
59 int (*okfn)(struct net *, struct sock *, struct sk_buff *);
60
};
在我的代码中,我试图按如下方式访问它:
unsigned int
my_packet_pass_through_hook(void *priv,
struct sk_buff *skb,
const struct nf_hook_state *state)
{
switch(state->hook){
编译时,它给了我错误:
error: dereferencing pointer to incomplete type ‘const struct nf_hook_state’ switch(state->hook){
有人会建议我在这里做错了吗?
答案 0 :(得分:2)
您需要#include
包含nf_hook_state
struct
的头文件,否则编译器在编译该翻译单元时不知道该struct
的布局。
如果它不在特定标题中,则应该相应地重构代码。