Как указать, какую перегруженную функцию я хочу использовать

Я пытаюсь создать UDP-клиент на компьютере с Windows, используя C ++ (см. Код ниже).

Проблема в том, что проект меня обременен также ссылками на <functional> библиотека, которая переопределяет bind функция с парой шаблонных функций, и VS не знает, какая версия bind() Я хочу использовать.

Как мне сообщить компилятору, что я хочу использовать версию Winsock bind() функционировать?

    SOCKET s = INVALID_SOCKET;

if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == INVALID_SOCKET)
{
WSACleanup();
return;
}

sockaddr_in addr_recv;

memset((char *)&addr_recv, 0, sizeof(addr_recv));
addr_recv.sin_family = AF_INET;
addr_recv.sin_port = htons(0);
addr_recv.sin_addr.s_addr = htonl(INADDR_ANY);

int server_addr_len = sizeof(addr_recv);

// compiler doesn't know which bind I mean.
int iResult = bind(s, (SOCKADDR *)&addr_recv, server_addr_len);

if (iResult == SOCKET_ERROR)
{
closesocket(s);
WSACleanup();
return;
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]