Нетиповой параметр шаблона source_location C++20

Я пытался найти способы использованияstd::source_location::current(), когда я наткнулся на этот конкретный ответ в теме.

Я попробовал запустить код на godbolt с помощьюx86-64 gcc 13.1и-O3 -std=c++20 -Wall -Wextra -Wpedantic, но он даже не компилируется.

Код:

      #include <format>
#include <iostream>
#include <source_location>

template<typename... Targs, auto location = std::source_location::current()>
auto tprintf(char const* format, Targs const&... args) -> void {
    std::cout
        << std::format("{}:{}: ", location.file_name(), location.line())
        << std::format(format, args...);
}

auto main() -> int {
    tprintf("hello {}", "world"); // prints "example.cpp:12: hello world"
}

Я делаю что-то неправильно? Если нет, то почему это вообще было принято как ответ, если оно не компилируется?

0 ответов

Другие вопросы по тегам