Пожалуйста, посмотрите на следующий кодфункция Thread определена в заголовочном файле дает ошибки литых типа
server.h
#pragma once
class Server
{
public:
Server(void);
~Server(void);
DWORD WINAPI serverThread(LPVOID param);
private:
SOCKADDR_STORAGE from;
int retval, fromlen, socket_type;
char servstr[NI_MAXSERV],hoststr[NI_MAXHOST];
SOCKET serverSocket, acceptSocket;
};
server.cpp
Небольшой Здесь отображается часть.
Server:Server()
{
//Code
//Passing data to thread
DWORD threadId;
HANDLE hdl;
hdl = CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE) serverThread,(LPVOID)acceptSocket,0,&threadId);
//Code
}
DWORD WINAPI Server::serverThread(LPVOID param)
{
//code
}
Этот код генерирует ошибку
error C2440: 'type cast' : cannot convert from 'overloaded-function' to 'LPTHREAD_START_ROUTINE'
То есть от линии
hdl = CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE) serverThread,(LPVOID)acceptSocket,0,&threadId);
Почему это? Пожалуйста помоги!
DWORD (WINAPI Server :: *) (LPVOID) 'не является' DWORD (WINAPI *) (LPVOID) '. – chris
@chris: Хорошо, значит, вы не можете взять его в файл заголовка? –
@ JesseGood: Нет, это не так. Нет принятых ответов. И нет файла заголовка. –