【发布时间】:2022-01-18 21:08:06
【问题描述】:
我找不到任何丢失的括号。有什么问题?
#ifndef PROCINFO_H_
#define PROCINFO_H_
#include <linux/limits.h>
#include <elf.h>
enum boolean {f,t};
typedef struct {
enum boolean fileHdr = 0;
enum boolean programHdr=0;
enum boolean sectionHdr = 0;
enum boolean info = 0;
enum boolean def = 0;
} procInfo;
typedef struct {
char filename[NAME_MAX];
procInfo info;
} procFile;
#endif /* PROCINFO_H_ */
错误:
expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘=’ token
make: *** [src/subdir.mk:20: src/elfViewer.o] Error 1
【问题讨论】:
-
欢迎来到 SO。您没有缺少括号。您在结构定义中有
=。这在 C 中是不可能的。您只能在变量定义中赋值。 C 中没有类型的默认值。 -
对于未来的问题,请发布完整的错误消息。它应该包括检测到错误的确切位置。
-
这能回答你的问题吗? default value for struct member in C
标签: c struct compiler-errors initialization typedef