2012-04-19 104 views
0

为什么没有在C使2D阵列指针此代码的工作++?编译器抱怨第二行不是可修改的l值。指针C++的2D阵列

 int* g[2][2]; 
    g[0] = new (int*)[2]; 
+0

你想为'g'分配内存??? – Ali 2012-04-19 00:20:10

+0

不,我只想要一个int指针数组的数组。 – 2012-04-19 00:21:21

+0

@SamAdams:你已经在第一行之后。第二行的意图是什么? – 2012-04-19 00:22:12

回答

5

类型的g[0]int* [2],即它是一个数组。你不能分配给一个数组。

目前尚不清楚你想要达到什么样的,所以我不能提供一个解决方案。如果你澄清你的问题,我可能会做得更好。

3

的第一行是所有需要创建2个数组的指针的数组int

您无法为g[0]分配新值的原因是因为g[0]本身是一个数组,您不能为数组仅指定一个新值。