thread
追加するときに、モジュールを含めることに問題があります。
#include <thread>
bind 関数を呼び出すと、エラーが発生します。
エラー 3 エラー C2440: '=' : 'std::_Bind<_Forced,_Ret,_Fun,_V0_t,_V1_t,_V2_t,_V3_t,_V4_t,_V5_t,>' から 'int' c:\users\ohadpeled\documents に変換できません\visual studio 2012\projects\loginserver\loginserver\server.cpp 87 1 LoginServer 4 IntelliSense: "std::_Bind" から "int" への適切な変換関数が存在しませんc:\Users\OhadPeled\Documents\Visual Studio 2012\Projects \LoginServer\LoginServer\Server.cpp 87 20 ログインサーバー
呼び出しが正常に機能するスレッドモジュールを含めないと、なぜこのエラーが発生するのかわかりません。どなたか原因を教えていただけると幸いです。
以下は、サーバー クラスの一部です。
/* Set TCP listening socket */
ListenResult = bind(ListenSocket, result->ai_addr, (int)result->ai_addrlen); // Error in this line
if (ListenResult != SOCKET_ERROR)
{
freeaddrinfo(result);
ListenResult = listen(ListenSocket, SOMAXCONN);
if (ListenResult != SOCKET_ERROR)
{
/* Accepting clients */
while(true)
{
ClientSocket = new SOCKET();
ADDR = new SOCKADDR_IN();
ADDRSize = sizeof(*ADDR);
*ClientSocket = accept(ListenSocket, (struct sockaddr*)ADDR, &ADDRSize);
if (*ClientSocket != INVALID_SOCKET)
{
/* I want to thread the handler function over here! */
Handler(ClientSocket, ADDR);
}
}
}
}
私はwin7を使用しており、winsockでソケットを設定しています。