How to call function with same name as class member

1k Views Asked by At

How can I call non-member function listen() (included from sys/socket.h) from a class which defines a member function with the same name listen()?

#include <sys/socket.h>

void Socket::listen(int port)
{
    ...

    listen(sock_fd, 10); // this doesn't work
}
1

There are 1 best solutions below

0
101010 On BEST ANSWER

Use the scope resolution operator ::.

void Socket::listen(int port){
    //...
    ::listen(sock_fd, 10);
    ^^
}

The scope resolution operator :: is used to identify and disambiguate identifiers used in different scopes.