c++ - 使用 sockaddr_un 调用 connect(2) 时出现编译器错误

标签 c++ network-programming ipc unix-socket

我正在 C++ 程序中对 connect(2) 进行简单调用。代码是:

connect(socket_fd, (struct sockaddr *)&name, SUN_LEN(name));

(这里,name 是一个struct sockaddr_un)。

当我尝试编译它时,我从 g++ 得到以下错误:

error: base operand of '->' has non-pointer type 'sockaddr_un'

我对此感到非常困惑,因为我没有在程序的任何地方使用 -> 运算符!我获取 name 地址的方式或转换它的方式有问题吗?

最佳答案

SUN_LEN 期望传递的结构是一个指针,因此您应该使用 SUN_LEN(&name)

关于c++ - 使用 sockaddr_un 调用 connect(2) 时出现编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16468159/

相关文章:

perl - 如何在内存占用大的Perl守护程序中处理多个套接字?

c - C 语言的共享内存代码片段

Windows 上的 JAVA IPC

c++ - 错误 C2995 :function template has already been defined

C#获取UDP服务器套接字从其接收数据的客户端的IP地址

python - 金融传染(疫情蔓延)模型遇到问题

Java RMI 资源

c++ - 链接静态库时静态对象的初始化

c# - 包含 atlbase.h header 时应用程序崩溃

c++ - 使用 map 为类创建迭代器