gpt4 book ai didi

c++ - 生成整数数组

转载 作者:太空狗 更新时间:2023-10-29 20:25:08 24 4
gpt4 key购买 nike

我是 C++ 的新手,我想编写一个程序来生成一个整数数组。我一直在行中收到错误

test[i][j]=i;

invalid types 'int[int]' for array

谁能告诉我这里出了什么问题?提前致谢。

int main()
{
int rows;
int cols;
cin>>rows>>cols;
int test[rows][cols];
get_test(rows,cols,&test[0][0]);
cout<<test[1][1]<<endl;
return 0;
}

int get_test(int rows,int cols,int *test)
{
int h=rows;
int w=cols;
int i=0,j=0;

for(i=0;i<h;i++)
{
for (j=0;j<w;j++)
{
test[i][j]=i;
}
}

return 0;
}

最佳答案

int test[rows][cols]; 非编译时值是一个可变长度数组,它是一些编译器的可能扩展。

更喜欢使用 std::vector 代替:

int get_test(std::vector<std::vector<int>>& test)
{
for (int i = 0;i != test.size(); ++i)
{
for (int j = 0; j != test[i].size(); ++j)
{
test[i][j] = i;
}
}
return 0;
}

int main()
{
int rows;
int cols;
cin>>rows>>cols;
std::vector<std::vector<int>> test(rows, std::vector<int>(cols));
get_test(test);
cout << test[1][1] << endl;
return 0;
}

关于c++ - 生成整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24737872/

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