2011-06-08 62 views
0

我加载一些XML从文件......这里是该文件的一个片段:iOS和libxml的编译器警告的问题

<root> 

    <person> 
     <age>99</age> 
     <name>bob</name> 
    </person> 

    <person> 
     <age>199</age> 
     <name>bill</name> 
    </person> 
    ... 
</root> 

我使用的libxml在iOS应用程序。这行代码:

if([[NSString stringWithUTF8String:cur_node->name] isEqualToString:@"name"]){ 

是给我这个编译器警告:

Pointer targets in passing argument 1 of 'stringWithUTF8String:' differ in signedness 

是什么警告表示,如何才能摆脱呢?

干杯!

编辑:铸造cur_node->名称为(常量字符*)中除去的警告

回答

2

根据this forum post,有3种C字符类型:

char 
unsigned char 
signed char 

基本上,libxml的属性您正在访问(cur_node-> name)很可能是unsigned char *signed char *,而stringWithUTF8String:预计会有不同的类型(const char *)。

类似的问题是here on iPhoneDevSDK Forums

如果您的代码有效,投射可能是摆脱警告的简单方法。