繁体   English   中英

我无法在 function 中动态分配二维数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM