【问题标题】:Compiler error when calling connect(2) with sockaddr_un使用 sockaddr_un 调用 connect(2) 时出现编译器错误
【发布时间】:2013-05-10 02:07:42
【问题描述】:

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

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

(这里,namestruct sockaddr_un)。

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

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

我对此完全感到困惑,因为我没有在程序的任何地方使用 -> 运算符!我获取name 地址的方式有问题吗?或者我的投射方式有什么问题?

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-12-21
      • 1970-01-01
      • 2012-05-13
      • 2014-08-16
      • 1970-01-01
      • 1970-01-01
      • 2020-09-19
      • 2013-06-16
      • 2013-10-28
      相关资源
      最近更新 更多