如何处理冲突的函数和变量名?

atm*_*cre 0 c++

我正在编写一个简单的套接字C++类,它看起来像这样:

class Socket {

public:
    // ...
    void connect();

private:
    // ...
    int socket;

};
Run Code Online (Sandbox Code Playgroud)

我班有两个问题:

  1. void Socket::connect()
    我正在使用本机Linux套接字接口,这意味着已经有一个int connect(...)我想在Socket::connect()函数内部使用的函数.

  2. int socket
    同样的问题.类变量名与int socket(...)函数具有冲突的名称.

问:我是被迫更改的名称int socketvoid connect()别的东西,还是有解决方法吗?

R S*_*ahu 6

可以使用全局范围运算符来使用全局名称::.

在类中,您可以使用::connect::socket使用全局函数.要调用全局函数,请使用::connect(...)::socket(...).