我有这样的代码:
#include <iostream>
#include <tbb/tbb.h>
#include <Windows.h>
bool MyThread(int something)
{
std::cout << "This is a thread function\n" << std::endl;
for (int i = 0; i < 10000; i++)
{
something++;
Sleep(1);
}
return true;
}
int main ()
{
tbb::tbb_thread pMyThread = tbb::tbb_thread(MyThread, 3);
pMyThread.join();
return 0;
}
但如果我在VS 2008中编译它会显示: 错误C2248:'tbb :: internal :: tbb_thread_v3 :: tbb_thread_v3':无法访问类'tbb :: internal :: tbb_thread_v3'中声明的私有成员
为main()函数的第一个字符串。我哪里错了?
答案 0 :(得分:3)
这很可能在不应该调用复制构造函数时,请尝试这样做:
tbb::tbb_thread myThread(MyThread, 3);
如果你能够,你还应该考虑使用标题
中的std :: thread