【发布时间】:2021-08-11 13:42:53
【问题描述】:
我有一个需要返回二维数组的函数,我是 C++ 新手,但我搜索了很多,我得到的最好的是,它给出了“错误:无法转换 'int** (*)[3 ]' 到 'int**' 作为回报"。
int** initial_state()
{
int arr[3][3] =
{
{0, 0, 0},
{0, 0, 0},
{0, 0, 0}}
;
return arr;
}
【问题讨论】:
-
尝试使用 int 返回类型
-
这能回答你的问题吗? Return a 2d array from a function
-
看看这个帖子,它问了同样的问题:*.com/questions/8617683/…
-
考虑使用
std::array。支持值语义,可以返回 -
如果你非常想返回一个指针,那么你必须使用指针开始,并进行手动和显式的内存处理(分配和释放)。按照@user4581301 的建议使用
std::array确实容易得多。