Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在C+;中,如何将2D数组/向量作为函数参数传递+;?_C++_2d Vector - Fatal编程技术网

C++ 在C+;中,如何将2D数组/向量作为函数参数传递+;?

C++ 在C+;中,如何将2D数组/向量作为函数参数传递+;?,c++,2d-vector,C++,2d Vector,尝试使用全局声明,但这对我没有用处。int-connection(vector&gridOfNodes,int-m,int-n) int connection(vector< vector<int>> &gridOfNodes,int m,int n) { //Your code goes here //Accessing Vector sample if(gridOfNodes[i][j] == 1) { } } int main() { i

尝试使用全局声明,但这对我没有用处。

int-connection(vector&gridOfNodes,int-m,int-n)
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; 
}
{ //你的密码在这里 //访问向量样本 if(gridOfNodes[i][j]==1) { } } int main() { int n,m; cin>>n>>m; //初始化向量 向量vec(n,向量(m,0)); 对于(int i=0;i>vec[i][j]; //函数调用 cout
int连接(向量&网格节点,int m,int n)
{
//你的密码在这里
//访问向量样本
if(gridOfNodes[i][j]==1)
{
}
}
int main()
{ 
int n,m;
cin>>n>>m;
//初始化向量
向量vec(n,向量(m,0));
对于(int i=0;i>vec[i][j];
//函数调用

cout2D数组:

如果您不想在全局范围内定义它(第二个维度或两者都是
const
),那么我假设您的函数在
main()
或其他函数的局部范围内-如果是,那么只需定义维度并使用:

函数(int数组[dim1][dim2])

函数(int数组[][dim2],int dim1)
2D向量:

函数(std::vectorcont&vec)
向量数组:

函数(std::arrayconst&vecarray)

请注意,仅当通过引用传递2D向量时才需要使用
const
说明符。如果通过值传递2D向量,则将制作副本,并且不会修改原始2D向量。(例如,当您从函数返回某些内容时,不必担心函数体中的值发生了更改)

2D数组:

如果您不想在全局范围内定义它(第二个维度或两者都是
const
),那么我假设您的函数在
main()
或其他函数的局部范围内-如果是,那么只需定义维度并使用:

函数(int数组[dim1][dim2])

函数(int数组[][dim2],int dim1)
2D向量:

函数(std::vectorcont&vec)
向量数组:

函数(std::arrayconst&vecarray)

请注意,仅当通过引用传递2D向量时才需要使用
const
说明符。如果通过值传递2D向量,则将制作副本,并且不会修改原始2D向量。(对于这样的情况,例如当您从函数返回某个内容时,不必担心其值在函数体中更改)

还值得在参数中添加一些缩进和
const
以避免意外突变。还值得在参数中添加一些缩进和
const
以避免意外突变。出于多种原因,您应该避免全局声明。如果要在另一个函数中使用某个函数的某些属性,请传递属性作为该函数的参数。这是否回答了您的问题?出于许多原因,您应该避免全局声明。如果您希望在另一个函数中使用某个函数的某些属性,请将该属性作为参数传递给该函数。这是否回答了您的问题?