тип не POD в списке переменных - PullRequest
2 голосов
/ 13 июля 2011

Я использую мыльную библиотеку и переключаю проект на компилятор Apple LLVM 3.0, который дал мне несколько сотен ошибок, во всяком случае, почти исправил их все.За исключением одного.

В строке 'while (eachObject .....' выдает ошибку ошибки компилятора '': второй аргумент для va_arg имеет тип PID не POD '-Wnon-pod-varargs, 3] '

Я не знаю тип пропущенных объектов. Он работал в предыдущих версиях компилятора, но этот немного требователен.

- (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;

}

1 Ответ

1 голос
/ 13 июля 2011

Вместо id, попробуйте запросить аргумент как void * и приведите его к id на отдельном шаге.Я не уверен, почему кланг так рассуждает, но это должно по крайней мере сделать его счастливым.

...