【发布时间】:2017-11-03 20:40:45
【问题描述】:
我不知道如何从下面的代码行中删除上述警告。数据是空指针,作为回调函数的一部分,将在数据指针中接收字符串。因为我已经对 void 指针进行了类型转换,但编译器仍然显示警告。
下面一行基本上显示了两个警告。 1.取消引用'void *'指针 2.取'void'类型表达式的地址
service_ind = atoi((const char*)&data[at_response.param[0].start_of_value_index]) ? TRUE:FALSE ;
以下是必填信息
void * data;
AT_PARSER_RESPONSE at_response;
typedef struct
{
/*Other parameters */
AT_PARAM param[AT_MAX_NUM_PARAM];
}AT_PARSER_RESPONSE
【问题讨论】:
-
请给出
data、at_response以及at_response.param[0]的任何类型的定义。 -
我在想(仍然是我的第一杯咖啡)优先顺序不是您对
(const char*)&data[at_response.param[0].start_of_value_index]的想法(即您可能需要额外的括号),或者您需要转换@987654327在使用[]之前将@ 转换为有效类型,具体取决于data真正 是什么。
标签: c pointers void-pointers dereference