Полная специализация шаблона с использованием void{} дает разные результаты в GCC и ClangC++

Программы на C++. Форум разработчиков
Anonymous
Полная специализация шаблона с использованием void{} дает разные результаты в GCC и Clang

Сообщение Anonymous »

Этот код выводит: Флаг -std=c++17 используется обоими компиляторами.

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

#include 
#include 
#include 

namespace my_namespace {

template 
void format(std::ostream &os, const T &t) = delete;

template 
struct is_formattable : std::false_type {};

template 
struct is_formattable : std::true_type {};

}

struct S {
int a;
};

namespace my_namespace {

template  void format(std::ostream &os, const S &s) {
os 

Подробнее здесь: [url]https://stackoverflow.com/questions/79888996/full-template-specialization-using-void-produces-different-results-on-gcc-and[/url]

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