【问题标题】:non-POD type in variable argumentlist变量参数列表中的非 POD 类型
【发布时间】:2011-07-13 07:36:42
【问题描述】:

我用肥皂图书馆和交换项目到苹果LLVM编译器3.0给了我几百错误,反正几乎是固定他们。 Exept一个。 P>

在线 '而(eachObject .....' 给我一个编译器错误 '的错误:第二个参数 '的va_arg' 非POD类型的 'ID'[-Wnon-POD-可变参数,3]' P>

我不知道通过对象的类型。它的工作在编译器的早期版本,但是这一次是有点挑剔。 P>

- (id)initWithObjects:(id)firstObj, ...{
if(self = [self init]) {

    id eachObject;

    va_list argumentList;
    if (firstObj) {
        [self.items addObject: firstObj];
        va_start(argumentList, firstObj);

        while (eachObject == va_arg(argumentList, id)) {
            [self.items addObject: eachObject];
        }
        va_end(argumentList);
    }
}
return self;

}

【问题讨论】:

    标签: objective-c c ios ipad


    【解决方案1】:

    尝试将参数作为void * 而不是id,并在单独的步骤中将其转换为id。我不知道为什么 clang 对此大发雷霆,但这至少应该让它开心。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多