Cześć. Czytam właśnie książkę pt. "Język C++ i przetwarzanie współbieżne w akcji" i na stronie 37 mam następujący akapit:
Podczas przekazywania obiektu funkcji na wejściu konstruktora wątku należy unikać zjawiska określanego mianem najbardziej irytującej interpretacji składni języka C++ (ang. C++'s most vexing parse). Przekazanie zmiennej tymczasowej zamiast zmiennej nazwanej spowoduje, że użyta składnia będzie wyglądała jak deklaracja funkcji i tak też zostanie zinterpretowana przez konstruktor (nie jako definicja obiektu). Oto przykład:
std::thread my_thread(background_task());
Moje pytanie jest co to dokładnie znaczy? Co to znaczy zmienna nazwana i zmienna tymczasowa? I o co chodzi z tym "najbardziej irytującej interpretacji składni języka C++"?