Это функция, которую я написал для форматирования сообщений журнала. Он просто берет сообщение, форматирует его и передает его версии функции log () , которая просто принимает Const char*, и выполняет всю реальную работу в журнале.
Код: Выделить всё
template
void log(const LogLevel logLevel, std::format_string message, Args&&... args) {
log(logLevel, std::format(message, std::forward(args)...));
}
< /code>
Тем не менее, этот код не скомпилируется, и я встречаю эту ошибку < /p>
error: call to non-‘constexpr’ function ‘std::string std::format(format_string, _Args&& ...)
// This function just passes its arguments to log()
// shorthand for writing Logger::log(LogLevel::Info, "Test {}", 1);
Logger::info("Test {}", 1);
// No arguments
Logger::info("Test");
< /code>
Я упускаю что -то с объявлением моей функции, которая предотвращает компиляцию этого кода? Стоит ли использовать что -то другое, кроме format_string? Любая помощь будет очень оценена.
Подробнее здесь: https://stackoverflow.com/questions/795 ... ing-stdfor
Мобильная версия