C++ 外部函数名称重叠

C++ external Function Names Overlapping

我目前正在开发一个 class,其中有一个名为 "connect" 的方法,我还调用了 winsock 函数 "connect"。这当然会导致编译器给我一个错误,因为它不知道如何处理它。

我怎样才能以最好的方式解决这样的命名问题?

我想保留我的方法名称,因为它最能描述发生的事情。

我无法控制 winsock 函数的名称 "connect",即使我控制了,我认为重命名它也没有多大意义。

我很确定这个或类似的问题已经在其他地方得到了回答,但我太笨了,找不到它。

在调用 winsock 标准函数时,您可以在函数名称前使用作用域解析运算符 ::。即

::connect(....params....);

当您想调用 class 函数时,您可以按以下方式调用 class 函数 -

this->connect(...params...);

请注意,我已经在评论中总结了建议的解决方案,以便将来的用户获得帮助。