mongoose (C 라이브러리)을 사용하여 작성한 서버를 C++ 클래스로 래핑하려고합니다. 문제는 몽구스로 서버의 인스턴스를 만드는 mg_create_server()
에 ev_handler
함수를 전달하려고한다는 것입니다.캐스트 오류가 네임 스페이스가있는 void 함수를 전달하는 중
src/Server.cpp:16:44: error: cannot convert 'Server::ev_handler' from
type 'int (Server::)(mg_connection*, mg_event)' to type 'mg_handler_t
{aka int (*)(mg_connection*, mg_event)}' server =
mg_create_server(NULL, ev_handler);
내가 ev_handler
정적 만들려고하지만 ... 어떤 생각을 래퍼 클래스 내부에 있어야한다 send_index_page(conn)
있다 :하지만이 캐스팅 오류가 나는 생각 주는가?
void Server::start() {
struct mg_server *server;
int numberOfObjects;
_application = new Application();
_application->start();
// Create and configure the server
server = mg_create_server(NULL, ev_handler);
//... more code here ...
}
int Server::ev_handler(struct mg_connection *conn, enum mg_event ev) {
switch (ev) {
case MG_AUTH: return MG_TRUE;
case MG_REQUEST: return send_index_page(conn);
default: return MG_FALSE;
}
}
제목에 "문제"를 언급 할 수없는 주위를 창의적으로 다루지 마십시오. * 문제 설명 *, 문제가 있다고 말하지 마십시오. (이것은 * 모두 * 여기에 문제가 있기 때문에 눈살을 찌푸리게합니다.) – usr2564301