我在C++中使用指针时遇到了一些问题。 我使用不同大小的数组实现了三种方法,但计算结果相同。所以我决定提取计算并将它们放入一个期望数组的新方法中。 但这不起作用,我不知道如何修改我的程序。C++中数组指针指针
void method1() {
float a[3][3];
calculate(a, 3);
}
void method2() {
float a[4][4];
calculate(a, 4);
}
void method3() {
float a[5][5];
calculate(a, 5);
}
void calculate(float *param[], int n) {
// Code
}
我知道我可以使用全局变量或向量等,但我需要这种结构的逻辑。
这里的编译器错误:
Test.cpp: In function 'void method1()':
Test.cpp:7:16: error: cannot convert 'float (*)[3]' to 'float**' for argument '1' to 'void calculate(float**, int)'
Test.cpp: In function 'void method2()':
Test.cpp:12:16: error: cannot convert 'float (*)[4]' to 'float**' for argument '1' to 'void calculate(float**, int)'
Test.cpp: In function 'void method3()':
Test.cpp:17:16: error: cannot convert 'float (*)[5]' to 'float**' for argument '1' to 'void calculate(float**, int)'
提前感谢!
[数组是不是指针](http://stackoverflow.com/questions/1641957/is-array-name-a-pointer-in-c) – 2013-03-23 00:35:23