尝试使用全局声明,但这对我没有用处。
int connection(vector< vector<int>> &gridOfNodes,int m,int n)
{
//Your code goes here
//Accessing Vector sample
if(gridOfNodes[i][j] == 1)
{
}
}
int main()
{
int n,m;
cin>>n>>m;
// initialize Vector
vector<vector<int> > vec( n , vector<int> (m, 0));
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
cin>>vec[i][j];
//Function calling
cout << connection(vec,m,n);
return 0;
}
2D阵列:
如果你不希望它(第二个维度或两者都定义为const
(在全局范围内,那么我假设你的函数在main()
或其他函数的本地范围内-如果是,那么只定义维度并使用:
function(int array[dim1][dim2])
或
function(int array[][dim2], int dim1)
2D矢量:
function(std::vector<std::vector<int>>const &vec)
矢量阵列:
function(std::array<std::vector<int>>const &vecarray)
请注意,只有通过引用传递2D矢量时,才需要使用const
说明符。如果按值传递,则会生成副本,并且不会修改原始2D矢量。(例如,当您从函数中返回某个内容,而不必为其值在函数体内的更改而烦恼时(