class Work{ public: void operator()(int i,std::string s,std::vector v){ ... } }; std::thread t(Work(),42,"hello",std::vector(23,3.141)); t.join();