Есть ли способ запустить функции в порядке случайно сгенерированного списка в Arduino IDE? - PullRequest
0 голосов
/ 28 января 2020

У меня есть список функций, таких как эта, например:

void cube () {...}
void diamond () {...}
void cylinder () {...}
void sphere () {...}
void cone () {...}

, и я делаю случайную функцию, где она генерирует список неповторяющихся чисел (скажем, между 0 и 4), так что создает список следующим образом:

random_List = {1,0,4,2,3}

Я уже знаю, как составить список, но после этого, что мне нужно сделать, чтобы функции выполнялись в соответствии с последовательностью списка? Я назначу число для функций, например, void cube () {} будет присвоено 1, а void diamond () {} будет 2 и т. Д.

1 Ответ

4 голосов
/ 28 января 2020

Указатели функций могут помочь:

using func_type = void (*)();

func_type funcs[] = {&cube, &diamond, &cylinder, &sphere, &cone};

for (auto index : random_List) {
    funcs[index]();
}
...