Os parâmetros de modelo não-tipo no c ++ 17 podem ser decltype (auto)?
Eu descobri que o gcc e o clang permitem usardecltype(auto)
na cláusula de tipo de parâmetro do modelo não-tipo. Por exemplo.:
template <decltype(auto)>
struct X {};
int foo ;
int main() {
X<(foo)> x;
static_cast<void>(x);
}
[demonstração ao vivo gcc] [toque de demonstração ao vivo]
É um recurso compatível com o padrão ou é uma extensão do gnu?