C++ 将2D数组引入函数c++;
大家早上好,我知道有很多表单可以将数组传递到函数中,关于这一点有很多建议。但即使阅读这篇文章,我也无法将数组传递给函数。 当我在main上调用该函数时,它出现了一个错误,如下代码所示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
#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]
是指向指针的指针,而不是指针数组。当我说它们是一样的时候,我是认真的。