如何在QuickDialog项目上修复此生成错误



我计划在我的项目中使用QuickDailog,我在这里从github克隆了该项目。

我正在尝试运行样本,但当我构建项目时,我得到了以下错误

file:///QuickDialog/quickdialog/QuickDialogTableView.m: 
error: Semantic Issue: Second   argument to 'va_arg' is 
of non-POD type 'QElement *'

这是导致此错误的代码段。

- (void)reloadCellForElements:(QElement *)firstElement, ... {
    va_list args;
    va_start(args, firstElement);
    NSMutableArray *indexes = [[NSMutableArray alloc] init];
    QElement * element = firstElement;
    while (element != nil) {
        [indexes addObject:[self indexForElement:element]];
        //Below line generates the error
        element = va_arg(args, QElement *);
    }
    [self reloadRowsAtIndexPaths:indexes withRowAnimation:UITableViewRowAnimationNone];
    va_end(args);
}

有什么修复错误的建议吗?

您是如何调用此方法的?你在呼叫什么对象?您是否发送了一个以null结尾的对象列表?

我无法重现这个问题,但在谷歌上搜索发现:

http://builderror.com/article/47/Second-argument-to-vaarg-is-of-non-POD-type

你能试着使用这种变通方法,看看它是否能解决问题吗?

最新更新