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

时间:2014-02-11 09:20:41

标签: c++

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

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

1 个答案:

答案 0 :(得分:10)

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

通过定义此宏_VARIADIC_MAX,您可以将参数的最大数量设置为10。

所以只需做#define _VARIADIC_MAX 10

之类的事情

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