在C中,我尝试分配一个字符串:
void addressItem_icon_download_callback(const char* res_name,
int success,
void *context,
char *last_modified){
char *icon = ((AddressItem_Callback_ContextType)context)->Icon;
}
并收到此错误:
conversion to non-scalar type requested
错误意味着什么,我该如何解决?
答案 0 :(得分:3)
假设AddressItem_Callback_ContextType
是带有字段图标(char*
)
typedef struct
{
char *Icon;
}AddressItem_Callback_ContextType;
尝试
char *icon = ((AddressItem_Callback_ContextType*)context)->Icon;
首先,您必须将上下文转换为指针AddressItem_Callback_ContextType*
然后只有你可以使用“ - >”
答案 1 :(得分:0)
你确定AddressItem_Callback_ContextType是apointer类型吗?您可以将指针类型(此处为上下文)强制转换为另一种指针类型。
可能需要将上下文转换为(AddressItem_Callback_ContextType *)。