LINUX.ORG.RU

проблема с enum class

 , ,


0

2

Собственно вод код :

#include <iostream>

enum class floor
{
first = 1,
second = 2
};

int main()
{
floor a = floor::first;
return 0;
}

брал с примеров отсюда.

Компилировал g++ main.cpp .

Ошибки :

g++ output

/home/xion/Documents/Programming2/TESTS/enum/main.cpp:3:1: warning: scoped enums only available with -std=c++11 or -std=gnu++11 [enabled by default] enum class floor ^ /home/xion/Documents/Programming2/TESTS/enum/main.cpp: In function ‘int main()’: /home/xion/Documents/Programming2/TESTS/enum/main.cpp:11:13: error: ‘floor’ is not a class or namespace floor a = floor::first;

Компилировал в code::blocks без ошибок, что странно. Что я делаю не так??

Что я делаю не так??

Не читаешь вывод компилятора?

warning: scoped enums only available with -std=c++11 or -std=gnu++11

t1nman
()

enum class — фича одиннадцатых плюсов и выше, а компилятор по умолчанию собирает более древним стандартом. Поэтому, как уже ответили выше, нужно руками указать ему, что используется другой стандарт

XMs ★★★★★
()

В enum ещё фрукты можно перечислять :-) Ну там, апельсины или яблоки :-)

anonymous
()

Компилировал в code::blocks без ошибок, что странно. Что я делаю не так??

Русским по белому написано:

scoped enums only available with -std=c++11

andreyu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.