在我的应用程序中,我有很多日志。我确实将所有日志中的所有错误累积在一个名为errorsLogger
. 我是这样实现的:
static Logger errorsLogger;
....
void Logger::Error(std::string format, ...) {
va_list arglist;
va_start(arglist, format);
if (this != &errorsLogger) {
errorsLogger.Error(format, arglist); // how to forward parameters?
}
vfprintf(logFile, , format.c_str(), arglist);
fprintf(logFile, "\n");
fflush(logFile);
va_end( arglist );
}
但是,此代码无法按预期工作,errorsLogger
其中包含一些奇怪的字符串-似乎未传递变量参数。如何修复我的代码有效?