Błąd podczas kompilacji: missing type specifier - int assumed

0

witam

próbuję skompilować realVNC 4.1.3

i mam błędy w:

 static requestAddressChangeEvents(network::SocketListener* sock_) {
  DWORD dummy = 0;
  if (WSAIoctl(sock_->getFd(), SIO_ADDRESS_LIST_CHANGE, 0, 0, 0, 0, &dummy, 0, 0) == SOCKET_ERROR) {
    DWORD err = WSAGetLastError();
    if (err != WSAEWOULDBLOCK)
      vlog.error("Unable to track address changes", err);
  }
}

.\SocketManager.cxx(41) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
.\SocketManager.cxx(48) : warning C4508: 'requestAddressChangeEvents' : function should return a value; 'void' return type assumed

jak to naprawić? dodam że kompiluję pod Visual C++ 2005 Express

0

Przecież Ci wyraźnie napisał kompilator... Popatrz jak wygląda typ Twojej funkcji:

static requestAddressChangeEvents(network::SocketListener* sock_)

Gdzie masz typ jaki zwraca funkcja? Ano nie masz, bo static to nie typ, a po static i przed nazwą funkcji niczego więcej nie ma. W C++ nie można opuścić typu zwracanego przez funkcję.

1 użytkowników online, w tym zalogowanych: 0, gości: 1