【发布时间】:2012-06-04 05:56:55
【问题描述】:
我需要我的函数返回一个数组,但它不像大多数搜索示例显示的那样将数组作为参数。
代码是这样的:
double myfunction ()
{
double arr[10];
//assign values to the array
return arr;
}
main()
{
double arr2[10];
arr2[10] = myfunction;
//print arr2
}
当我使用指针来显示数组时,我得到了像“CCCCCC”这样的值......
【问题讨论】:
-
数组不是这样工作的。使用
std::array或std::vector会给你这样的行为,但要确保你知道原始数组是如何工作的。看到这个问题:stackoverflow.com/questions/4810664/how-do-i-use-arrays-in-c -
这甚至不应该编译,
double[10]不能隐式转换为double,就像double(*)()不能隐式转换为double- 边界访问顺便说一句)。请出示真实代码。
标签: c++ arrays return-value