объявление enums в классе C ++, проблема с получением enum в классе - PullRequest
1 голос
/ 05 апреля 2011

У меня проблема с объявлением enum в моем классе. Я пытался объявить это в частном порядке, публично, снаружи, в основном, ничего не работает. Мне нужно вызвать функцию в классе извне и использовать перечисления в функции вот мой код.

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 перечисления. Я не могу переопределить их в основном, так как я могу ввести свои перечисления с переменной из основного?

1 Ответ

8 голосов
/ 05 апреля 2011

Вы должны указать, в каком классе определены перечисления. Например, вызовите функцию следующим образом:

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

Таким образом, ваш компилятор знает, в каком классе искать объявления перечисления.

...