1

在 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

错误是什么意思,我该如何解决?

4

2 回答 2

3

假设AddressItem_Callback_ContextType是一个带有字段 Icon ( char*)的结构

typedef struct
{
  char *Icon;
}AddressItem_Callback_ContextType;

尝试

char *icon = ((AddressItem_Callback_ContextType*)context)->Icon;

首先,您必须将上下文转换为指针AddressItem_Callback_ContextType* ,然后只有您可以使用“->”访问该字段

于 2013-07-04T07:21:32.527 回答
0

您确定 AddressItem_Callback_ContextType 是指针类型吗?您只能将指针类型(此处为上下文)转换为另一种指针类型。

可能您需要将上下文转换为 (AddressItem_Callback_ContextType *)。

于 2013-07-04T09:06:58.320 回答