linux c之gcc编译出现error:lvalue required as unary ‘&‘ operand解决办法

1、问题

今天搞epoll实现io复用的时候gcc编译出现这个错误lvalue required as unary '&' operand,如下图

2、解决办法

accept函数参数如下

int accept(int sockfd,struct sockaddr *addr,socklen_t *addrlen);

在第三个参数为了少些代码我是这样写成这样&sizeof(cli_addr)然后传进第三个参数里面去
所以出错了,然后修改成下面的形式就可以了

socklen_t length = sizeof(cli_addr);
int accept(sockfd, (struct sockaddr *)&cli_addr, &length);
(0)

相关推荐