2011-04-05 146 views
1

我在我的类中声明了枚举的问题。 我曾试图在私人,公共,外部,主要,没有任何作品上宣布它。 我需要从外部调用类中的函数,并使用函数 中的枚举,这里是我的代码。类C++中的枚举声明,在类中枚举的问题

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个枚举。我不能在主体中重新声明它们,那么如何在主体中输入变量的枚举?

+0

帮助非母语者:正确的拼写是_algorithm_ – stijn 2011-04-05 11:18:24

回答

8

您必须指定枚举定义在哪个类中。调用这样的函数:

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

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

+1

(一种常用的替代方法是在'class'之前声明'enum',在同一个'namespace'中,但哪一个更好取决于简化的简明用法是否会重新引入与该名称空间中的其他符号发生冲突的风险以及类名称前缀的文档值)。 – 2011-04-05 10:30:42