gpt4 book ai didi

c++ - 名称相同,来源不同的函数

转载 作者:行者123 更新时间:2023-11-28 06:33:05 27 4
gpt4 key购买 nike

我正在一个类中编写一个函数,该函数与另一个源自头文件(特别是 socket.h)的函数共享相同的名称。

void XClass::bind(){
//...
int rv = bind(listener, (struct sockaddr*) &addr, sizeof(sockaddr));

}

当然,bind(..) 调用的是类中的函数,而不是头文件中的函数(隐含的代码是不可编译的)。

既然它不在命名空间声明中,是否可以调用正确的方法?如果是,如何?

我知道我可以用不同的方式重新声明它,但是如果我有大块代码包含名称与调用者本身一致的外部函数,那么随之而来的重命名听起来就像噩梦。

最佳答案

您可以在相关名称前加上 :: 以表示您正在全局命名空间中查找它:

int rv = ::bind(listener, (struct sockaddr*) &addr, sizeof(sockaddr));

关于c++ - 名称相同,来源不同的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27204022/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com