【问题标题】:Expected expression before char with variadic function具有可变参数函数的 char 之前的预期表达式
【发布时间】:2014-04-02 00:29:42
【问题描述】:

我收到错误表达式“char 之前的预期表达式”

char *set_buffer(char *buf, int num_str, ...) { 
    va_list args;
    va_start(args, num_str); 
    for (int i = 0, offset = 0; i < num_str; ++i) {
         char *str = va_args(args, char *); // error here
         offset += snprintf(buf+offset, strlen(str), str); 
    }
    va_end(args);
}

有人知道为什么吗?c

【问题讨论】:

    标签: c variadic-functions


    【解决方案1】:

    宏是va_arg 而不是va_args

    char *str = va_arg(args, char *)
    

    【讨论】:

    • @GeorgeNewton 不时发生在每个人身上:)
    猜你喜欢
    • 2019-10-28
    • 2021-06-06
    • 2013-10-03
    • 1970-01-01
    • 1970-01-01
    • 2014-11-30
    • 2014-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多