генерация случайных перечислений

Как я случайным образом выбираю значение для перечислимого типа в C++? Я хотел бы сделать что-то вроде этого.

enum my_type(A,B,C,D,E,F,G,h,J,V);
my_type test(rand() % 10);

Но это недопустимо... нет неявного преобразования от интервала до перечислимого типа.

12
задан null_radix 8 June 2010 в 15:55
поделиться

2 ответа

Как насчет:

enum my_type {
    a, b, c, d,
    last
};

void f() {
    my_type test = static_cast<my_type>(rand() % last);
}
24
ответ дан 2 December 2019 в 04:33
поделиться

Неявного преобразования нет, но явное подойдет:

my_type test = my_type(rand() % 10);
8
ответ дан 2 December 2019 в 04:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: