我有一个错误,我不知道如何解决,这是:
expected specifier-qualifier-list before 'typedef'
在这一行:
typedef caddr_t ipsec_policy_t;
有人可以解释一下为什么以及如何解决这个问题?
答案 0 :(得分:0)
编译器不知道caddr_t
是一种类型。编译此代码时,您可能希望检查相应的typedef是否在范围内。您可能错过了包含相应的头文件。
答案 1 :(得分:0)
看起来编译器不知道caddr_t
是什么。确保在typedef之前存在适当的声明或包含。
答案 2 :(得分:0)
这是预期的错误。编译器找不到caddr_t
类型。这是因为它不是标准数据类型。它可以在某个头文件中声明,或者在您忘记包含的位置声明。
经过一些谷歌搜索后发现了一些与之相关的链接。
答案 3 :(得分:0)
当我用“#define ipsec_policy_t”替换这个“typedef”定义时 char *“(因为我初始化caddr_t作为char指针),然后它工作 !现在我有另一个错误,让我认为错误来了 来自更高
右键!错误的原因在于此行,因此请在源代码处或在预处理器输出处查看。
答案 4 :(得分:0)
//A.h
typedef unsigned char uchar;
//B.h
struct B {
#include "A.h"
...
}
我刚才遇到了这个问题。当我从内部结构B移动include语句时,它是有效的。