gpt4 book ai didi

c - 使用枚举时 c 中出现奇怪的编译错误

转载 作者:太空宇宙 更新时间:2023-11-04 01:39:29 25 4
gpt4 key购买 nike

你好,在我的头文件 Data.h 中,我将 bool 类型定义为枚举,但出现编译错误,我不明白为什么:

// Data.h
// Author : Alexandre rousset

typedef enum {NO, YES} bool;

typedef struct stud {
char *date;
char *name; /* student name */
} Student;

void studentInit(Student *new);
bool studentPassExam(Student *s);

我遇到了这个错误:

include/Data.h:4: error: two or more data types in declaration specifiers
include/Data.h:4: warning: useless storage class specifier in empty declaration

感谢您的帮助。

最佳答案

您的代码可以在 gcc version 4.6.2 下正常编译。

可能对于你的编译器来说 bool 是一个内置类型。但是,根据标准(C89、C99),事实并非如此。在您的编译器中寻找强制执行标准兼容行为的选项。

(以防万一,请确保您使用的是 C 而不是 C++ 编译器。但是,如果您使用过 C++ 编译器,那么它应该也会提示 new。因为 new 是 C++ 中的关键字。)

关于c - 使用枚举时 c 中出现奇怪的编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8350685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com