c++ - C++ 类中的枚举声明,在类中获取枚举的问题

标签 c++ class enums declaration

我在类里面声明枚举时遇到问题。 我曾尝试在私有(private)、公共(public)、外部、大体上声明它,但没有任何效果。 我需要从外部调用类中的函数并在函数中使用枚举 这是我的代码。

class Algoritem {
    public:
    enum Optimization { W , A , D };
    enum FenceType { OF , CC };
    enum Eventopa { BR , OR };
    algorithem* OptimalPatrol(double N, int K, double VS, double T, Optimization F,FenceType FT, Eventopa E, double Imax,double P);
};

当我需要调用 OptimalPatrol() 时,我需要输入 3 个枚举。我不能在 main 中重新声明它们,那么如何从 main 中输入带有变量的枚举?

最佳答案

您必须指定枚举在哪个类中定义。因此,例如像这样调用函数:

OptimalPatrol(N, K, VS, T, Algoritem::W, Algoritem::OF, Algoritem::BR, Imax, P);

这样,您的编译器就知道在哪个类中查找枚举声明。

关于c++ - C++ 类中的枚举声明,在类中获取枚举的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5550110/

相关文章:

python - 格式化的 Python 字符串既不使用 repr 也不使用 str - 发生了什么?

java - 访问类并创建对象

java - 如何确定 java 中枚举的最低/最高索引?

php - 将 Enum '1' , '0' 转换为输出文本 PHP

c++ - #include 是否也意味着使用

php - OOP:您将如何在 OOP 中建立艺术家、专辑和歌曲关系

c++ - 文件中模板类的静态数据成员的初始化顺序是什么?

php - 获取网页以与 C++ 应用程序通信

C++ : how to get a long value from json and convert it to time_point

c++ - boost 灵气轨迹线并解析unicode