【问题标题】:enums declaration in class C++, problem getting to enum in classC++ 类中的枚举声明,在类中获取枚举的问题
【发布时间】:2011-04-05 09:58:13
【问题描述】:

我对班级中的枚举声明有疑问。 我曾试图在私人、公共、外部声明它,基本上没有任何效果。 我需要从外部调用类中的函数并使用函数中的枚举 这是我的代码。

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 中输入带有变量的枚举?

【问题讨论】:

  • 帮助非母语人士:正确的拼写是algorithm

标签: c++ class enums declaration


【解决方案1】:

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

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

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

【讨论】:

  • (一个常用的替代方法是在 class 之前声明 enums,在同一个 namespace 中,但哪个更好取决于简化的简洁用法是否重新引入了风险与该命名空间中的其他符号以及类名前缀的文档值冲突)。
猜你喜欢
  • 2015-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-23
  • 2023-03-27
  • 2020-07-19
  • 2011-01-31
相关资源
最近更新 更多