2012-03-11 229 views
0

我想存儲一個結構數組,每個結構都有指針,但我在創建數組時得到了「初始化使得指針沒有轉換的整數」消息。指針的結構

struct fl_valueags { 
    tcflag_t *fl_value; 
    flagtype_t *fl_type; 
}; 
... 
struct fl_valueags t_flags[] = { { ttyinfo->c_iflag, INPUT }, { 
    ttyinfo->c_oflag, OUTPUT }, { ttyinfo->c_cflag, CONTROL }, { 
     ttyinfo->c_lflag, LOCAL } }; 

回答

2

您應該傳遞的c_iflag地址:

struct fl_valueags t_flags[] = { { &ttyinfo->c_iflag, INPUT }, 
            { &ttyinfo->c_oflag, OUTPUT }, 
            { &ttyinfo->c_cflag, CONTROL }, 
            { &ttyinfo->c_lflag, LOCAL } }; 

關於fl_type,它或許應該被聲明爲一個值,而不是一個指針(除非INPUT,OUTPUT控制和本地的指針):

struct fl_valueags { 
    tcflag_t *fl_value; 
    flagtype_t fl_type; 
};