'std :: thread :: thread':没有重载函数需要7个参数

Luk*_*uka 6 c++

我正在使用visual studio 2012和上面的错误弹出窗口.我的代码是正确的,但似乎编译器限制为7个参数.如果我想传递7个参数,我该怎么办?

我可以传递一个结构但最好不要在可能的情况下更改我的代码.

小智 10

VS2012不完全支持可变参数模板.另见Blogpost:http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx

您可以通过定义此宏来将最大参数数设置为10 _VARIADIC_MAX.

所以就这样做吧#define _VARIADIC_MAX 10.

对于std :: thread,默认值为5,2标准参数+5可变参数.总的来说,您可以通过设置上面的值来传递多达12个参数.