Объявление перечисления C ++ после использования в классе - PullRequest
0 голосов
/ 07 апреля 2020

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

Это работает:

class SizeBoxClass {

public:
    enum BoxType{xBox, yBox};

    BoxType intersects() {
        return xBox;
    }

}SizeBox;

Но это не так:

class SizeBoxClass {

public:
    BoxType intersects() {
        return xBox;
    }

    enum BoxType { xBox, yBox };

}SizeBox;

Я получаю "BoxType не определен" в строке объявление функции ... Почему? Я думал, что объявление члена класса после его использования не было проблемой.

1 Ответ

1 голос
/ 07 апреля 2020

enum BoxType { xBox, yBox }; - это объявление типа (а также определение ), а не переменная-член или функция-член.

Типы должны быть объявлены перед первым использованием .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...