1
我試圖從一個結構從結構分配一個字符串轉換爲字符值
typedef struct blah_param_s {
struct blah_param_s* param_next;
blah_param_type_t param_type;
} blah_param_t;
typedef struct blah_param_char_s {
blah_param_t param_hdr;
char* param_val;
} blah_param_char_t;
我的功能是分配字符串的字符值:
static inline char blah_get_param_char (blah_param_t* param_p)
{
return (((blah_param_char_t*)param_p)->param_val);
}
而且有問題的代碼那踢這一切關是:
((blah_param_char_t*)new_param_p)->param_val = value;
其中value 「嗒嗒」
這給我一個警告:返回時將整數指針,未作鑄現在
的整數它的工作原理:
typedef struct blah_param_int_s {
blah_param_t param_hdr;
uint32_t param_val;
} blah_param_int_t;
static inline uint32_t blah_get_param_int (blah_param_t* param_p)
{
return (((blah_param_int_t*)param_p)->param_val);
}
任何幫助將非常感激!
如果param_val的類型是char *,那麼應該是你的返回類型。 'char'和'char *'是不一樣的。 – 5gon12eder 2015-02-07 00:38:41