传递 2D 数组

Pass a 2D array

本文关键字:数组 2D 传递      更新时间:2023-10-16

我对传递 2D 数组有点困惑。例:

void out(int **a){.....};
void out2(int a[][] ){......};
main () { 
    int arra[2][5];
    out (arra);
    out2(arra); 
}   

我可以以两种方式传递数组吗?传递 2D 数组的最佳方法是什么,为什么?

您可以使用以下丑陋的语法通过引用传递数组:

void out3(int (&a)[2][5]){}
main () { int a[2][5]; out3(a); }

最好使用std::array<std::array<int, 5>, 2>std::vector