函数返回数组

Function return an array

本文关键字:数组 返回 函数      更新时间:2023-10-16

我知道函数不能返回数组,但是这个函数声明

auto fun(/*...*/) -> int [2]

可以通过编译。为什么! ?

实际上,函数不能按值返回普通数组。

具有这种返回类型的声明是错误格式的,如果编译器没有警告就接受了它,那么编译器没有严格遵守标准。这可能是一个bug——或者是一个语言扩展。

这个错误似乎在g++-6.1中重现。如果您尝试定义返回数组的函数,您可以看到这个滑稽的错误消息:

error: cannot convert 'int [2]' to 'int [2]' in return