我想声明一个2D数组并为其赋值,而无需运行for循环。

我以为我可以使用以下想法

int array[5] = {1,2,3,4,5};

也可以很好地初始化2D数组。但是显然我的编译器不喜欢这样。
/*
 1   8  12  20  25
 5   9  13  24  26
*/

#include <iostream.h>

int main()
{
    int arr[2][5] = {0};   // This actually initializes everything to 0.
    arr [1] [] = {1,8,12,20,25}; // Line 11
    arr [2] [] = {5,9,13,24,26};
    return 0;
}



请帮助我用我的一组值初始化2d数组的正确方法是什么。

最佳答案

像这样:

int main()
{
    int arr[2][5] =
    {
        {1,8,12,20,25},
        {5,9,13,24,26}
    };
}

这应该在您的C++教科书中介绍:您使用的是哪本?

无论如何,最好考虑使用std::vector或一些现成的矩阵类,例如来自Boost。

关于c++ - 2D数组值C++,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4981197/

10-13 07:25