gpt4 book ai didi

c++ - 多个类头文件所需的枚举类型

转载 作者:行者123 更新时间:2023-11-30 02:47:50 25 4
gpt4 key购买 nike

我正在尝试制作一个使用多个类(和多个头文件)的 C++ 程序。我在其中一个类中创建了一个名为“move”的枚举类型,但我需要从所有类中访问该类型。如果我只将枚举声明保留在一个头文件中,其他类将无法访问它,编译器会在除该类和 main.h 之外的任何地方给出错误。如果我在 main 中声明它,则任何类都无法访问它。如果我在每个类头文件中声明它,重新定义它时会出现编译器错误。

我在哪里声明枚举类型以便每个类头文件都可以访问它?

最佳答案

Where do I declare an enum type so that every class header file has access to it?

在它自己的标题中。为您的 enum 创建一个单独的头文件,并在所有其他需要使用它的头文件中 #include 该头文件。不要忘记添加 include guards避免多重包含:

#ifndef MOVE_H
#define MOVE_H

enum move foo {
LEFT, RIGHT, UP, DOWN
};

#endif /* MOVE_H */

注意:如果您有多个逻辑上属于一起的枚举,或者一个 enum 属于一个类,您可能希望将两者放在同一个标​​头中。

关于c++ - 多个类头文件所需的枚举类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22434975/

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