函数return一个数组
Function return an array
我知道一个函数不能return一个数组,但是这个函数声明
auto fun(/*...*/) -> int [2]
可以通过编译。为什么!?
确实,函数不能 return 按值的普通数组。
具有这种 return 类型的声明是错误格式的,如果编译器在没有警告的情况下接受它,则编译器不严格符合标准。这可能是一个错误 - 或语言扩展。
看来此错误可在 g++-6.1 中重现。如果您尝试定义 return 数组的函数,您会看到这个搞笑的错误消息:
error: cannot convert 'int [2]' to 'int [2]' in return
我知道一个函数不能return一个数组,但是这个函数声明
auto fun(/*...*/) -> int [2]
可以通过编译。为什么!?
确实,函数不能 return 按值的普通数组。
具有这种 return 类型的声明是错误格式的,如果编译器在没有警告的情况下接受它,则编译器不严格符合标准。这可能是一个错误 - 或语言扩展。
看来此错误可在 g++-6.1 中重现。如果您尝试定义 return 数组的函数,您会看到这个搞笑的错误消息:
error: cannot convert 'int [2]' to 'int [2]' in return