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

标签 c++

我正在使用 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/

相关文章:

c++ - 具有原始数据指针和 emscripten 的对象

c++ - <未解析的重载函数类型> 调用二元谓词

c++ - 专门化模板类以获取指向特定类的指针或指向派生类对象的指针

c++ - 输出打印地址而不是 3D 数组指针中的值

c++ - 为什么 swap 在 C++ 中不使用 Xor 操作

C++调用一个从txt文件输出信息的函数

c++ - 如何缩放四元数的旋转

c++ - 在不调用构造函数的情况下在对象数组中分配内存?

c++ - 在不发送任何内容的情况下获取函数的返回值

java - 通过 SWIG 在 Java 中处理 C++ 异常