Код: Выделить всё
#include
#include
#include
#include
class Class {};
#define VARIANT 1
namespace Namespace {
#if VARIANT == 1
template
struct std::formatter : std::formatter {
auto format(const Class& Class, auto& context) const {
return std::formatter::format("CLASS", context);
}
};
#endif
#if VARIANT == 2
template
requires std::same_as
struct std::formatter : std::formatter {
auto format(const Class& Class, auto& context) const {
return std::formatter::format("CLASS", context);
}
};
#endif
} // namespace Namespace
#if VARIANT == 3
template
struct std::formatter : std::formatter {
auto format(const Class& Class, auto& context) const {
return std::formatter::format("CLASS", context);
}
};
#endif
int main() { std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79569560/why-cant-i-specialize-stdformatter-inside-of-my-namespace[/url]