gpt4 book ai didi

c++ - 传递二维数组 C++

转载 作者:太空宇宙 更新时间:2023-11-03 10:25:24 25 4
gpt4 key购买 nike

我正在尝试制作一个交换两列的小程序,我必须使用函数才能做到这一点,但我刚开始使用 C++,我无法理解我做错了什么。

#include <iostream>

using namespace std;

int colSwap(int ng, int ns, int pin[][ns]) {
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 4; ++j) {
cout << " i:" << i << " j:" << j << " " << pin[i][j] << " " << endl;
}
cout << endl;
}
}

int main() {

int ng = 3;
int ns = 4;

int pin[3][ns] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};


colSwap(ng,ns,pin);
return 0;
}

我知道这样写

int colSwap(int pin[][4]) {

}

但我需要另一种方法

最佳答案

虽然可以像在 C 中那样传递大小,但在 C++ 中是不可能的。原因是 C++ 没有 variable-length arrays . C++ 中的数组必须 在编译时固定其大小。不,使大小参数 const 不会使它们成为编译时常量。

我建议您使用 std::array (或者可能是 std::vector )。

关于c++ - 传递二维数组 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37393962/

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