C++ 将2D数组引入函数c++;

C++ 将2D数组引入函数c++;,c++,arrays,function,C++,Arrays,Function,大家早上好,我知道有很多表单可以将数组传递到函数中,关于这一点有很多建议。但即使阅读这篇文章,我也无法将数组传递给函数。 当我在main上调用该函数时,它出现了一个错误,如下代码所示 #include <iostream> #include <vector> #include <cmath> using namespace std; int row = 5; int column=20; void dimensions (int [20]); int mai

大家早上好,我知道有很多表单可以将数组传递到函数中,关于这一点有很多建议。但即使阅读这篇文章,我也无法将数组传递给函数。 当我在main上调用该函数时,它出现了一个错误,如下代码所示

#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
int row = 5;
int column=20;
void dimensions (int [20]);

int main (){

int *matriuprova[column];
for (int i= 0; i<column;i++){

    matriuprova[i] = new int [row];

    dimensions(matriuprova);// <-- here is the error:
        //main.cpp:14:31: error: cannot convert 'int**' to 'int*' 
        //for argument '1' to 'void dimensions(int*)'

}//end of for loop

return 0;
}//end of main

void dimensions (int *matriuprova [20]){
        //function code
         }
#包括
#包括
#包括
使用名称空间std;
int行=5;
int列=20;
空隙尺寸(int[20]);
int main(){
int*矩阵[列];

对于(int i=0;i而言,
维度的正向声明是错误的

改变

    void dimensions (int [20]);


维度的正向声明错误

改变

    void dimensions (int [20]);


维度的正向声明错误

改变

    void dimensions (int [20]);


维度的正向声明错误

改变

    void dimensions (int [20]);

#包括
#包括
#包括
使用名称空间std;
int行=5;
int列=20;
空隙尺寸(int*[20]);
int main(){
int*矩阵[列];
对于(int i=0;i
#包括
#包括
#包括
使用名称空间std;
int行=5;
int列=20;
空隙尺寸(int*[20]);
int main(){
int*矩阵[列];
对于(int i=0;i
#包括
#包括
#包括
使用名称空间std;
int行=5;
int列=20;
空隙尺寸(int*[20]);
int main(){
int*矩阵[列];
对于(int i=0;i
#包括
#包括
#包括
使用名称空间std;
int行=5;
int列=20;
空隙尺寸(int*[20]);
int main(){
int*矩阵[列];


对于(int i=0;i您的
维度的声明和定义不兼容。因为列`不是常量,所以使用VLA(可变长度数组)
matriuprova
的扩展为什么不使用
std::vector
std::array
?您对
维度的声明和定义不兼容。因为列`不是常量,所以您使用VLA(可变长度数组)
matriuprova
的扩展为什么不使用
std::vector
std::array
?您对
维度的声明和定义不兼容。因为列`不是常量,所以您使用VLA(可变长度数组)
matriuprova
的扩展为什么不使用
std::vector
std::array
?您对
维度的声明和定义不兼容。因为列`不是常量,所以您使用VLA(可变长度数组)
matriuprova
的扩展为什么不使用
std::vector
std::array
?请注意
void维度(int*[20]);
void维度(int**)相同;
。后者比较容易混淆。@juanchopanza我不认为指针数组与指向指针的指针相同…@jiggunjer函数参数
int*[N]
是指向指针的指针,而不是指针数组。当我说它们是一样的时候,我是认真的。请注意
void dimensions(int*[20]);
void dimensions(int**)相同;
。后者比较容易混淆。@juanchopanza我不认为指针数组与指向指针的指针相同…@jiggunjer函数参数
int*[N]
是指向指针的指针,而不是指针数组。当我说它们是相同的时候,我是认真的。请注意,
无效维度(int*[20]);
无效维度(int**)相同;
。后者比较容易混淆。@juanchopanza我不认为指针数组与指向指针的指针相同…@jiggunjer函数参数
int*[N]
是指向指针的指针,而不是指针数组。当我说它们是一样的时候,我是认真的。请注意
void dimensions(int*[20]);
void dimensions(int**);
相同。后者比较容易混淆。@juanchopanza我不认为指针数组与指向指针的指针相同…@jiggunjer函数参数
int*[N]
是指向指针的指针,而不是指针数组。当我说它们是一样的时候,我是认真的。