尝试从头文件的结构中通过“typedef”声明别名时出现此错误:
错误:'typedef'之前的预期说明符限定符列表</p>
我最初的意图是测试 typedef 的范围是否包含在结构中。这是为了防止在此标头包含在另一个源文件中时不必要地使用此别名。如果我将违规行(以'typedef'开头的行)移到结构之外和之前,代码将编译。
但是,我不明白为什么我不能从结构中调用 typedef,以及为什么我会得到上述错误。
此外,我不确定这种做法是否真的有必要。如果有的话,限制别名有什么好处?
#ifndef STUDENT_H
#define STUDENT_H
typedef struct{
typedef char* string;
string name;
int id;
} Student;
#endif
我希望代码能够编译,但我收到了错误消息:
错误:'typedef'之前的预期说明符限定符列表</p>