我在c中有一个1D数组的小问题.我有一个功能线这是:
void func(int (&array)[???]) { // some math here; "for" loop { array[i] = something; } }
我在代码中的某个地方调用函数,在我做数学之前,我无法知道数组的维数.该数组将作为参考!的功能,因为我需要它在main()函数.我如何分配这样的数组?维度转到函数作为参考,那么我必须把维度写成一些值.
解决方法
使用指针,而不是引用:
void func(int *a,int N);
或者,更容易使用向量:
void func(std::vector<int> &a);
可以通过简单的说来分配向量
std::vector<int> a(10);
可以使用.size()检索元素的数量.