Этот вопрос относится к этому и должен быть с конкретными случаями ниже
template<class T, class U = T> class B { };
template <class ... Types> class C { };
template<template<class> class P> class X { };
X<B>{ }; // OK
X<C>{ }; // OK
Стандарт в [temp.arg.template]/3
пометил эти два случая как ОК, но последнийВ обновлении дефекта CWG 150 говорится, что CWG
решил пока не предпринимать никаких действий.Ни clang
, ни gcc
не принимают код.
Являются ли clang
и gcc
несовместимыми?