在C ++中使用1D数组初始化2D数组

Divyanshu Jimmy

禁止使用2d数组初始化,并且出现此错误-

我被指示按原样使用main(),并且我只能编辑其他两个函数。

source.cpp(81): error C4700: uninitialized local variable 'Array' used
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

代码:

int main(){
    int **Array;
    Array = getArray2D(10, 10, Array);
    for (int i = 0; i<10; i++)
    for (int j = 0; j<10; j++){
        Array[i][j] = 4;
    }
    cout << endl;

    for (int i = 0; i<10; i++){
        for (int j = 0; j<10; j++){
            cout << Array[i][j];
        }
        cout << endl;
    }
    getchar();

    return 0;
}



int* getArray1D(int n, int *A)
{
    A = new int[n];
    for (int i = 0; i < n; ++i)
        A[i] = 0;
    return A;
}
int** getArray2D(int m, int n, int** A)
{
    // m array of integers
    A = new int*[m];
    for (int i = 0; i < m; ++i)
    {
        // create a 1d array on each element of a A
        A[i] = getArray1D(n, A[i]);

    }
    return A;
}

我该如何纠正呢?

萨马拉斯

问题是您不将初始化Array为NULL,然后使用它。

所以改变这个:

int **Array;
Array = getArray2D(10, 10, Array);

对此:

int **Array = NULL;
Array = getArray2D(10, 10, Array);

您得到的实际上是警告,而不是错误,看起来像这样:

warning: ‘Array’ is used uninitialized in this function [-Wuninitialized]

不要忘了以后取消分配内存!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在C ++中使用相同的值初始化2D数组

来自分类Dev

在C中初始化2D char数组

来自分类Dev

在A类C ++中初始化2D数组

来自分类Dev

在C ++中初始化Dynamic 2d数组

来自分类Dev

C,用for循环初始化2D数组

来自分类Dev

使用C中的宏初始化未知大小的2D数组

来自分类Dev

C ++-使用指针符号初始化2D数组

来自分类Dev

C ++ 2D数组到1D数组

来自分类Dev

在C中初始化2D / 3D数组的简便方法?

来自分类Dev

这个有效的C ++是否可以初始化2D动态数组?

来自分类Dev

在构造函数C ++中用零初始化2D数组

来自分类Dev

在C中声明和初始化未知大小的2D数组

来自分类Dev

c 2d数组静态初始化,保留大小

来自分类Dev

Objective-C中的2D数组初始化

来自分类Dev

无法在C中初始化大型2D数组

来自分类Dev

在C中初始化2D数组的整个列

来自分类Dev

在C TIC TAC TOE游戏中初始化2D字符数组

来自分类Dev

如何在C ++中初始化指向动态2D数组的指针

来自分类Dev

调整和初始化2D数组C#

来自分类Dev

C-2d数组未用零初始化

来自分类Dev

如何在C ++中使用构造函数初始化2D向量?

来自分类Dev

如何在C ++中使用构造函数初始化2D向量?

来自分类Dev

是否可以使用1D索引访问C ++ 2D int数组?

来自分类Dev

在C ++中将1D数组作为2D数组访问

来自分类Dev

从C中的2D数组中产生1D数组

来自分类Dev

在C中如何基于1D数组分配2D数组?

来自分类Dev

在C ++中的2D数组中声明指向1D数组的指针

来自分类Dev

尝试填充2d数组,但它仍然是1d数组C ++

来自分类Dev

从C中现有的1D数组创建2D数组?