私が調べたことから、構文は正しいが、コンパイラ(VS2015)は不平を言っている。注意してください、私はネットワークのクラスで名前空間eeを使用しています。ここでは、コードC++ 11 - メンバー関数をスレッドに渡すと、オーバーロードされた関数は2つの引数をとる
//code that doens't work
thread clientThread(&ee::Network::clientRun, new ee::Network);
*ノートです:実際のコードでは、私は、引数として新しいを呼び出していないよ、私はコードを短くするために、ここでそれをやりました。
私は関数をテストしていて、うまく機能していますが、スレッドを使って機能させることはできません。ここに彼らの署名があります。
void serverRun();
void clientRun();
void clientRun(string ip);
私のエラーは、次のとおりです。
エラーC2661 'のstd ::スレッド::スレッド':いいえオーバーロードされた関数は2つの引数
を取るABCコンストラクタ「のstdのインスタンス:: thread :: thread "は引数リストと一致します
誰でも何が起こっているのかについての洞察はありますかこの状況では?
はおそらくそれほど愚かではない質問は、あなたが右、 ''が含まれて?私たちはここで多くのことをする必要はありません。 –
WhozCraig
Visual C++エラーコードのように見えますが、どのバージョンを使用していますか? –
また、あいまいさの問題があります。 'void(ee :: Network :: * threadProc)()=&ee :: Network :: clientRun;を試してください。スレッドclientThread(threadProc、新しいee ::ネットワーク); ' –