iOS和libxml编译器警告问题

时间:2011-06-08 23:26:40

标签: ios compiler-warnings libxml2

我正在从文件中加载一些xml ...这是文件的片段:

<root>

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

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

我在iOS应用中使用libxml。这行代码:

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

正在给我这个编译器警告:

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

这个警告意味着什么,我该如何摆脱它?

干杯!

编辑:将cur_node-&gt;名称转换为(const char *)删除了警告

1 个答案:

答案 0 :(得分:2)

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

char
unsigned char
signed char

基本上,您正在访问的libxml属性(cur_node-&gt; name)可能是unsigned char *signed char *,而stringWithUTF8String:期望的是不同的类型(const char *

类似的问题是here on iPhoneDevSDK Forums

如果你的代码有效,那么施放可能是摆脱警告的简单方法。