是否可以声明一个返回数组的函数? [复制]

Posted

技术标签:

【中文标题】是否可以声明一个返回数组的函数? [复制]【英文标题】:Is it possible to declare a function returning an array? [duplicate] 【发布时间】:2015-08-24 03:45:18 【问题描述】:

我试过了:

int ([]foo)();
int[] foo();
int (foo[])();

但它并没有宣布我所期望的。有可能吗?

我的意思不是声明一个返回指针的函数。 我需要准确地返回一个数组。

【问题讨论】:

对你来说,指针和数组有什么区别? 你不能返回一个数组,但是你可以返回一个数组的引用,或者一个std::array。你到底需要这个做什么? @Ninetainedo 好吧,这是不同的类型。这不仅适合我,也适合所有人。数组到指针的转换和数组在odr-used时调整为指针的事情 我真的很好奇你的要求,因为数组会隐式变成指针。那么具体会发生什么变化呢? 【参考方案1】:

你想要从你的函数返回的实际上是一个指向数组中第一个元素的指针:

int* arr(int arr[]);

更多信息请查看this函数。

【讨论】:

由于问题的I don't mean declareing a function returning a pointer. 部分,您应该更加明确。 添加了答案链接

以上是关于是否可以声明一个返回数组的函数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Pycuda 在函数参数中按值声明数组时返回错误

如何将某个函数推送到返回数组的函数?(是否可以推送到返回数组的函数)[关闭]

在 TypeScript 中,如何声明一个接受字符串并返回字符串的函数数组?

在 Typescript 中,如何声明一个返回字符串类型数组的函数?

为啥 C 函数不能返回数组类型? [复制]

为啥从函数返回数组作为参数时,我会从函数中的数组中获取随机值? [复制]