我想用C ++ 11的std::thread
类运行类的成员函数并行执行。
头文件的代码类似于:
class SomeClass {
vector<int> classVector;
void threadFunction(bool arg1, bool arg2);
public:
void otherFunction();
};
cpp文件是类似于:
void SomeClass::threadFunction(bool arg1, bool arg2) {
//thread task
}
void SomeClass::otherFunction() {
thread t1(&SomeClass::threadFunction, arg1, arg2, *this);
t1.join();
}
我使用在Mac OS X 10.8.3的Xcode 4.6.1。 我使用的编译器是苹果LLVM 4.2,其附带的Xcode的。
上面的代码不起作用。 编译器错误说, "Attempted to use deleted function"
。
在线程创建的线则显示以下按摩。
In instantiation of function template specialization 'std::__1::thread::thread<void (SomeClass::*)(bool, bool), bool &, bool &, FETD2DSolver &, void>' requested here
我在C ++ 11线程类是新的。 可能有人帮助我吗?