int ** b;
b = (int **)(new int[5 * 12]);
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 12; j++) {
b[i][j] = 0;
}
} 我在行b[i][j] = 0;中遇到access violation错误
我哪里做错了?
发布于 2012-11-11 07:15:21
真正的问题是,如果你使用b作为二维数组而没有指定一维,编译器实际上不知道如何索引它的访问,试着这样写它:
int (* b)[12];
b = new int[5][12];我们在这里所做的是将b声明为指向12元素数组的指针,因此当我们对i索引进行索引时,编译器知道它必须乘以12。
https://stackoverflow.com/questions/13326934
复制相似问题