warning:declared inside parameter list
warning:its scope is only this definition or declaration, which is probably not what you want
解释: 在参数列表中定义。
类型的范围仅仅在本定义或者说明中,也许不是你所想要的。
分析:出现问题的通常是一个结构体,原因是在其它地方没有发现它的定义。通常是没有包含相应的头文件或者头文件位置不对,或者定义放在了引用之后。
example: 编译dpi main.c 出现警告:
128:49 :warning: ‘struct iphdr’ declared inside parameter list [enabled by default]
128:49:warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
原因是定义struct iphdr 的头文件include <linux/ip.h>没有包含在 main.c 的头文件中,添加该头文件后,重新编译没有警告出现。