调用连接(2)时发生编译器错误sockaddr_un

问题描述:

我正在一个简单的调用connect(2),在C++程序中。该代码是:调用连接(2)时发生编译器错误sockaddr_un

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

(这里,namestruct sockaddr_un)。

当我尝试编译此,我从G ++以下错误:

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

我完全被这个困惑,因为我不使用 - 在程序>运营商的任何地方!我是采取name的地址,还是我以这种方式铸造它的方式有问题吗?

SUN_LEN预计传递的结构是一个指针,所以你应该使用SUN_LEN(&name)

+0

谢谢!这解决了它。 – 2013-05-09 18:22:29