Как надежно отформатировать std::vector с поддержкой диапазона fmt?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как надежно отформатировать std::vector с поддержкой диапазона fmt?

Сообщение Anonymous »

Я получаю непоследовательное поведение при попытке отформатировать вектор логических значений в разных средах:

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

#include 
#include 
#include 

int main() {
std::vector vec = {true, false, true};
fmt::print("Vector contents: {}\n", vec);
return 0;
}
Это отлично работает в нескольких средах:
  • Compiler Explorer: Clang 19.1.0
  • Проводник компилятора: магистраль GCC
  • Проводник компилятора: ствол Clang
Но происходит сбой:

Но происходит сбой:

p>

[*]Локальная macOS (M1): Clang 19.1.1 clang++ -std=c++23 -I библиотеки/fmt/include
[*]Compiler Explorer: Zig Trunk

При этой ошибке:

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

error: implicit instantiation of undefined template 'fmt::detail::type_is_unformattable_for'
Все тесты используют fmt из Trunk и C++23.
Что вызывает эту несогласованность и как ее исправить?

Подробнее здесь: https://stackoverflow.com/questions/792 ... ge-support
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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