请告知以下原因为何不起作用。使用VC2017
:
long **l;
l = new long [5][7];
它显示错误为:
“类型为“ long * [7]”的值不能分配为 长**” ...
我该如何解决?
答案 0 :(得分:1)
您需要声明并初始化指向long*
的指针的第一个数组,然后将其分配给每个数组:
long** l = new long*[5]; // declare array of pointer of 5 cell
for(int i = 0; i < 5; ++i)
l[i] = new long[7]; // assign to each cell array with 7 cells
请记住,使用new分配的所有内容都是在堆上创建的,必须通过delete进行取消分配。