gpt4 book ai didi

c - 定义用于多个文件的枚举数据类型

转载 作者:太空宇宙 更新时间:2023-11-04 05:55:17 24 4
gpt4 key购买 nike

我有几个文件,比如main.c、main.h、some_funcs.c 和 some_funcs.h。

main.h is included in main.c
main.h include some_funcs.h
some_funcs.c include some_funcs.h

当我现在定义一个新的数据类型时:

//Datatypes
enum _bool {
false = 0,
true = 1
};

typedef enum _bool Bool;

如果我在例如main.h 并想在 some_func.c 中使用它是行不通的。有没有办法在某处定义它而不总是在定义它的地方包含标题?

最佳答案

将定义放入some_funcs.h。这将使它在 main.h、main.c、some_funcs.h 和 some_funcs.c 中可见。

一个更通用的解决方案是将常见的数据类型放入一个名为 common.h 的文件中。

然后您将此文件包含在所有头文件中。

这将是 common.h 文件的内容。 ifdef 是忽略文件的内容(如果它已经被包含)。

#ifndef COMMON_H
#define COMMON_H

//Datatypes
enum _bool {
false = 0,
true = 1
};

typedef enum _bool Bool;

#endif

关于c - 定义用于多个文件的枚举数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28829470/

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