使用sockaddr_un调用connect(2)时编译错误

Compiler error when calling connect(2) with sockaddr_un

本文关键字:编译 错误 connect sockaddr un 调用 使用      更新时间:2023-10-16

我正在做一个简单的调用连接(2),在一个c++程序。代码是:

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)