第§8.3.5/ 8段(重点为我):
如果参数的类型包括“指针指向
T的未知范围的数组”或“对未知范围的数组的引用
T”表示该程序格式不正确。功能不得有回报
类型数组或函数的类型,尽管它们可能具有返回类型
类型指针或对此类事物的引用。不得有数组
函数,尽管可以有指向函数的指针数组。
§8.5.3/ 5的要点(5.2.1)和(5.2.1.1)(重点是我的):
(5.2.1)—如果初始化器表达式
(5.2.1.1)-是xvalue(但不是位字段)类prvalue,
数组prvalue或函数lvalue和“ cv1 T1”与“ cv2 T2”参考兼容,或者
如果我的假设是错误的(在标题中),那么我希望有一个示例生成prvalue数组。
最佳答案
int main() {
using Arr = int[];
auto&& r = Arr{1, 2, 3, 4, 5};
return 0;
}
在这里,
r
绑定到数组类型的prvalue。关于c++ - 这两个语句在N4140中不兼容吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27950769/