典型例子:
void foo(const char *fmt, ...)
{
va_list args;
va_start(args, fmt);
// might throw, might not. who knows.
bar(fmt, args);
// uh-oh...
va_end(args);
}
这是一个坏主意,即va_list
在 c++ 中使用它不常见吗?如果我用 try-catch 包装bar
,这有帮助吗?有什么替代方案?