我遇到了std :: thread的问题,因为它不接受采用自动指定参数的函数.以下是一些示例代码:
#include <iostream> #include <vector> #include <thread> using namespace std; void seev(const auto &v) // works fine with const vector<int> &v { for (auto x : v) cout << x << ' '; cout << "\n\n"; } int main() { vector<int> v1 { 1,2,3,4,5 }; thread t(seev,v1); t.join(); return 0; }
但是编译器说:
[Error] no matching function for call to 'std::thread::thread(<unresolved overloaded function type>,std::vector<int>&)'
为什么会这样?这是语言或GCC(4.9.2)的问题吗?