gpt4 book ai didi

c++ - 无法将整数分配给动态分配的二维数组

转载 作者:太空宇宙 更新时间:2023-11-04 06:04:36 25 4
gpt4 key购买 nike

我通过以下方式创建了一个二维数组:

int** map_array = (int**)malloc(sizeof(yy_value*xx_value));

当我尝试为某个位置赋值时:

map_array[y*xx_value+x] = 5;

我收到以下错误:

Assigning to 'int *' from incompatible type 'int'

我做错了什么?

最佳答案

改变:

int** map_array = (int**)malloc(sizeof(yy_value*xx_value));

到:

int* map_array = (int*)malloc(yy_value*xx_value*sizeof(map_array[0]));

说明:您在这里分配了一个“展平”的二维数组,您在其中计算自己的一维索引而不是实际的二维数组。传递给 malloc 的大小也不正确。

请注意,如果没有充分的理由,您可能不应该在 C++ 程序中使用 malloc。

关于c++ - 无法将整数分配给动态分配的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12790188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com