Проблема с компиляцией официального обновленного исходного кода Quake 2.C++

Программы на C++. Форум разработчиков
Anonymous
Проблема с компиляцией официального обновленного исходного кода Quake 2.

Сообщение Anonymous »

Я пытаюсь скомпилировать официальный исходный код переизданной игры Quake 2. Я получаю такую ​​ошибку:

Код: Выделить всё

error C2338: static_assert failed: 'The format() member function can't be called on const formatter. To make the formatter usable, add const to format().
в этой строке отмечены двойными звездочками:

Код: Выделить всё

_NODISCARD auto make_format_args(_Args&... _Vals) {
if constexpr ((_Formattable_with_non_const && ...)) {
**static_assert((_Formattable_with && ...),**
"The format() member function can't be called on const formatter. "
"To make the formatter usable, add const to format(). "
"See N4971 [format.arg.store]/2 and [formatter.requirements].");
} else {
static_assert((_Formattable_with && ...),
"Cannot format an argument. To make T formattable, provide a formatter specialization. "
"See N4971 [format.arg.store]/2 and [formatter.requirements].");
}
return _Format_arg_store{_Vals...};
}
В настройках компиляции я использую все «Необходимые определения препроцессора» + «USE_CPP20_FORMAT», поскольку я установил C++20 в качестве стандарта языка
Как понять и исправить ошибку?

Подробнее здесь: https://stackoverflow.com/questions/793 ... ource-code

Вернуться в «C++»