Martin Heralecký
Martin Heralecký

Reputation: 5779

How to call function with same name as class member

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
}

Upvotes: 6

Views: 1102

Answers (1)

Dimitrios Bouzas
Dimitrios Bouzas

Reputation: 42909

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.

Upvotes: 13

Related Questions