问题描述
在C ++中, 我们可以执行以下操作:
#include <iostream>
int main()
{
int arr[] = {1,2,3};
int *p = arr;
return 0;
}
但这似乎无效:
#include <iostream>
int main()
{
int arr[][3] = {{1,3},{4,5,6}};
int **p = arr;
return 0;
}
有人可以解释一下为什么它不适用于二维数组吗?
另外,在处理指针和2d数组时,请考虑以下代码:
#include <iostream>
int N = 5;
void func(int arr[][N]){
return;
}
int main()
{
int arr[N][N];
return 0;
}
上面的代码也不起作用,我也不知道为什么?错误:表达式必须具有恒定值(变量N)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)