1、问题

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

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

 

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);