标准规定,如果占位符是decltype(auto)
类型说明符,则T
应该只是占位符。
decltype(auto)*x7d = &i;
//错误,声明的类型不是普通的decltype(auto)
目前尚不清楚是否仍允许使用cv限定符。如果可以使用将是有意义的,但编译器对此存在分歧。下面的代码被g++接受,但被clang++拒绝,vc++似乎根本不支持decltype(auto)
变量:
int main()
{
const decltype(auto) sz_text{"test"};
}