ここで何か助けていただければ幸いです。Boost::Thread を使用して関数を非同期で呼び出そうとしていますが、エラーが発生します。これが私の実際のコードです。
主に:
vector<std::string> a = ...;
vector<std::string> b = ...;
vector<boost::thread> threads;
threads.push_back(boost::thread(do_work, an_integer, a[i], b.begin(), b.end()));
// Later I will join()...
他の場所:
void do_work(int i, std::string a_string, vector<string>::iterator begin, vector<string>::iterator end)
{
// Some stuff
}
私はこのようなことにはまったく慣れておらず、C# に慣れています。とにかく、これらは私が得ているエラーです:
error C2664: 'void (int,std::string,std::_Vector_iterator<_Myvec>,std::_Vector_iterator<_Myvec>)' : cannot convert parameter 1 from 'std::_Vector_iterator<_Myvec>' to 'int'
error C2664: 'void (int,std::string,std::_Vector_iterator<_Myvec>,std::_Vector_iterator<_Myvec>)' : cannot convert parameter 3 from 'std::basic_string<_Elem,_Traits,_Ax>' to 'std::_Vector_iterator<_Myvec>'
error C2664: 'void (int,std::string,std::_Vector_iterator<_Myvec>,std::_Vector_iterator<_Myvec>)' : cannot convert parameter 4 from 'std::_Vector_iterator<_Myvec>' to 'std::_Vector_iterator<_Myvec>'
ご協力いただけると幸いです。私はほぼ間違いなく非常にばかげたことをしています!どうもありがとう。