我發現gcc和clang允許在非類型模板參數類型子句中使用decltype(auto)
。例如: -C++ 17中的非類型模板參數可以是decltype(auto)嗎?
template <decltype(auto)>
struct X {};
int foo ;
int main() {
X<(foo)> x;
static_cast<void>(x);
}
[live demo gcc][live demo clang]
是否符合標準的功能或者是一些GNU擴展?
這就是爲什麼我熬夜在SO。這樣的問題是什麼讓我更多地瞭解自己的語言:) – StoryTeller
@StoryTeller我承認,至少對我來說,C++仍然充滿驚喜:) –
非常好的問題。 +1,@StoryTeller:我同意你的定義。 – skypjack