2013-05-09 33 views
1

我正在一個簡單的調用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的地址,還是我以這種方式鑄造它的方式有問題嗎?

回答

3

SUN_LEN預計傳遞的結構是一個指針,所以你應該使用SUN_LEN(&name)

+0

謝謝!這解決了它。 – 2013-05-09 18:22:29