Buon giorno,
Mi incuriosisce sapere se un thread può trattare solamente funzioni void oppure anche funzioni con valori di ritorno.
Quello che intuitivamente mi viene da pensare, su cui chiedo conferma, è: Se utilizzo un thread per trattare una funzione non void, ad esempio
int func(){...}
int x = std::thread t(func, ...);
t.join();
è corretto dire che, se fosse possibile farlo, comunque sarebbe inultile per il fatto che l'assegnazione del valore di ritorno alla variabile x non fa parte della logica a threads e quindi renderebbe vano il fatto di eseguire più di un thread alla volta, perché questi dovrebbero comunque eseguire le assegnazioni in maniera sequenziale?
Oppure semplicemente non è possibile farlo?
Grazie e buone feste