【发布时间】:2017-08-28 10:21:41
【问题描述】:
我在 C++ 编程方面处于早期阶段。我想将 3D 数组发送到函数。同样:
const int MaxNumberOfLegs=function1();
double D_and_L_Of_Legs[4][2][MaxNumberOfLegs] = { { {1, 2, 3.4, 4} , {1, 2, 3, 4} },
{ {1, 2, 3, 4.5} , {1, 2, 3} },
{ {1.8, 2, 3, 4} , {1, 2, 3, 4} },
{ {} , {} }
};
function2(D_and_L_Of_Legs);
和function2一样:
void ProcessImage(double D_and_L_Of_Legs[4][2][MaxNumberOfLegs]){
}
在我的代码中,MaxNumberOfLegs 变量使用 function1 而不是 const 变量计算。在 C++ 中,当我们想要发送一个数组时,我们必须编写数组的维度。
现在我的问题是,当第三维不是 const 时如何发送 3d 数组??
【问题讨论】:
-
这不是一个有效的 C++ 数组,因为
MaxNumberOfLegs不是编译时常量。 C++ 不支持variable-length arrays。 -
至于如何解决您的问题,请考虑改用
std::vector。 -
@Someprogrammerdude,你能告诉我如何在这个程序中使用 std::vector 吗?我在 C++ 早期。
标签: c++ arrays function parameter-passing