首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

?gcc版本有关问题导致的 invalid lvalue 有关问题

2013-09-06 
?gcc版本问题导致的 invalid lvalue 问题调用libevnet时出现的问题。定义如下:typedef struct client_t{cha

?gcc版本问题导致的 invalid lvalue 问题
调用libevnet时出现的问题。
定义如下:
typedef struct client_t
{
        char * postbuf;
        char * replybuf;
        struct event read_ev;
        struct event write_ev;
        unsigned long post_len;
        size_t post_written;
        unsigned long reply_len;
        size_t reply_written;
        
        int client_fd;
        State state;
}Client;
Client * clients;
使用下面这句话的时候,
EVENT_FD((&client->read_ev)) = -1;
用gcc version 4.1.2
编译,就报invalid lvalue in assignment
但用gcc version 2.96 就没有问题,能正常运行,
请问,我怎么才能在gcc4.1.2版本能正常运行。
谢谢。
[解决办法]
应该是(int)(ev)->ev_fd不能做为左值,你赋值语句改成下面的试试吧:

(&client->read_ev)->ev_fd = -1;

热点排行