Как преобразовать тип bool в enum?

256
01 июня 2018, 01:40

Есть перечисление:

enum {
 FALSE=0,
 TRUE=1
}BOOL;

Нужно, чтобы присваивание вида BOOL var=true; было законным.

Answer 1

Не знаю для чего это может понадобится, однако:

enum BOOL : bool {
    FALSE = false,
    TRUE = true
};
int main() {
    BOOL var = static_cast<BOOL>(true);
}
Answer 2

Да обычное приведение, можно даже не указывать базовый тип:

#include <iostream>
#include <iomanip>
enum BOOL
{
    FALSE=0,
    TRUE=1
};
int main()
{
    BOOL var = BOOL(true);
    BOOL war = static_cast<BOOL>(true);
}

https://ideone.com/uL9JqG

READ ALSO
Можно ли как-либо обратиться к терминалу на mac os при помощи языка c++

Можно ли как-либо обратиться к терминалу на mac os при помощи языка c++

Например ввести команду ls, и считать список файлов в директории

183
Добавление и удаление значений в QVector

Добавление и удаление значений в QVector

Мне нужно написать функции которые добавляют и удаляют значения в QVector

206
Непонятное применение typedef

Непонятное применение typedef

Я студент, и недавно появилось задание написать простейший графический редактор по исходникам преподаВ принципе, ничего сложного, но вот...

179