Я использую Mbed RTOS, и мне нужно передать несколько аргументов многопоточной функции.
В документации API есть пример:
#include "mbed.h"
Thread thread;
DigitalOut led1(LED1);
volatile bool running = true;
// Blink function toggles the led in a long running loop
void blink(DigitalOut *led) {
while (running) {
*led = !*led;
wait(1);
}
}
// Spawns a thread to run blink for 5 seconds
int main() {
thread.start(callback(blink, &led1));
wait(5);
running = false;
thread.join();
}
Но нужно передать только один аргумент .
Есть ли удобный способ передать несколько аргументов? Мне не нравится идея поместить их в структуру и передать структуру. Но я не вижу другого способа сделать это.