[英]I couldn't dynamically allocate 2D array in a function
我尝试通过传递给 function 来动态分配我的二维数组,但它没有得到那个大小。
你能说我吗,我的错误在哪里?
bool b_alloc_table_2_dim(int** piTable, int iSizeX, int iSizeY)
{
if ((iSizeX < 0) || (iSizeY < 0))
return false;
piTable = new int*[iSizeX];
for (int i = 0; i < iSizeX; i++)
piTable[i] = new int[iSizeY];
return true;
}
int main()
{
int** pi_table;
cout << "Allocation Result :" << b_alloc_table_2_dim(pi_table, 5, 3) << endl;
return 0;
}
如果要将参数修改为 function,则需要通过引用或指针传递它。 将您的 function 签名更改为:
bool b_alloc_table_2_dim(int**& piTable, int iSizeX, int iSizeY) {
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.