c++ - 从没有参数的函数返回整数数组

标签 c++ arrays function pointers return

<分区>

Possible Duplicate:
Returning local data from functions in C and C++ via pointer

我需要创建一个不带参数的返回数组的函数

我收到错误:“警告:函数返回局部变量的地址”

为了便于阅读,我的代码已经过简化

int * getNums()
{
    int nums[8];
    nums = {1,2,3,4,5,6,7,8};
    return nums;
}

我被引导明白当函数结束时指针丢失了,但是数组仍然会被发送吗?如果不是,在函数调用中返回这个不带参数的整数数组的好方法是什么?

提前感谢您的帮助!

干杯

最佳答案

不,数组不会被“发送”。您需要执行以下操作之一:

  • 使用new动态创建数组
  • 静态创建数组
  • 将数组作为指针传递给函数
  • 使用 std::vector

在大多数情况下,最后一种是首选解决方案。

关于c++ - 从没有参数的函数返回整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5866898/

相关文章:

c++ - 如何在没有 MSXML 5 的情况下在 native C++ 中验证 XML 数字签名?

c++ - 明确停止后期绑定(bind)

c++ - C++中的多维数组和指针

javascript - 在 javascript 中,如何构建一个比较值 A 和值 B 的方法

c++ - 合并排序 C++ 帮助 为合并的数字动态分配临时数组

php - 像变量一样在字符串中扩展 PHP 函数

c++ - 继承reverse_iterator中用户自定义迭代器的所有函数

c++ - 在 C++ 中创建模板时是否可以找到 sizeof(T)?

javascript - 单击时将数组项移动到另一个数组

c - 使用 Structs 来保存我在 C 游戏中的所有变量?