¿Pueden los parámetros de plantilla que no son de tipo en c ++ 17 ser decltype (auto)?
Descubrí que gcc y clang permiten usardecltype(auto)
en la cláusula de tipo de parámetro de plantilla no tipo P.ej.:
template <decltype(auto)>
struct X {};
int foo ;
int main() {
X<(foo)> x;
static_cast<void>(x);
}
[live demo gcc] [Clan demo en vivo]
¿Es una característica compatible estándar o es una extensión de GNU?