具有可变函数的char之前的预期表达式

时间:2014-02-28 20:00:55

标签: c variadic-functions

我收到错误表达式“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

1 个答案:

答案 0 :(得分:5)

宏是va_arg而不是va_args

char *str = va_arg(args, char *)