Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
类函数和非类函数的名称冲突 < >在C++中,我有一个类投票,它具有发送功能,通过网络发送投票。类Vote中的这个send函数使用sys/socket.h中的send函数。当我编译时,我得到的错误基本上是说它使用了Vote::send,而不是Vote::send中的sys/socket.h::send。如何解决此名称冲突?_C++_Class_Networking - Fatal编程技术网

类函数和非类函数的名称冲突 < >在C++中,我有一个类投票,它具有发送功能,通过网络发送投票。类Vote中的这个send函数使用sys/socket.h中的send函数。当我编译时,我得到的错误基本上是说它使用了Vote::send,而不是Vote::send中的sys/socket.h::send。如何解决此名称冲突?

类函数和非类函数的名称冲突 < >在C++中,我有一个类投票,它具有发送功能,通过网络发送投票。类Vote中的这个send函数使用sys/socket.h中的send函数。当我编译时,我得到的错误基本上是说它使用了Vote::send,而不是Vote::send中的sys/socket.h::send。如何解决此名称冲突?,c++,class,networking,C++,Class,Networking,使用(:)从全局范围引用send()函数,如: void Vote::send() { ::send(...); // Calls global send(). } 你可以做不同的事情。您可以通过以下方式确认呼叫: void Vote::send() { ::send(...); } 或者,您可以通过using声明将名称空间级别的函数引入范围: 或者,如果它是一个名称空间函数,并且它与投票类位于同一名称空间中,则还可以提供一个局部声明,尽管我会避免局部函数声明,因为它

使用(
)从全局范围引用
send()
函数,如:

void Vote::send() {
        ::send(...); // Calls global send(). 
}

你可以做不同的事情。您可以通过以下方式确认呼叫:

void Vote::send() {
   ::send(...);
}
或者,您可以通过using声明将名称空间级别的函数引入范围:

或者,如果它是一个名称空间函数,并且它与
投票
类位于同一名称空间中,则还可以提供一个局部声明,尽管我会避免局部函数声明,因为它更容易获得错误的签名:

void Vote::send() {
   int send(int, const void*, size_t, int);
   send(...);
}
void Vote::send() {
   int send(int, const void*, size_t, int);
   send(...);
}