我正在使用 visual studio 2012 和上面的错误弹出窗口。我的代码是正确的,但似乎编译器仅限于 7 个参数。如果我想传递 7 个参数,我该怎么办?
我可以传递一个结构,但如果可能的话最好不要更改我的代码。
最佳答案
VS2012 不完全支持可变参数模板。另请参阅此博文: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 个参数。
关于c++ - 'std::thread::thread': 没有重载函数需要 7 个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21697660/