C++ C++;错误帮助:无法将参数1从';浮动';至';浮动[][2]
我在做一个项目,这并不重要。显然,我不能向浮点函数发送参数。 代码如下所示C++ C++;错误帮助:无法将参数1从';浮动';至';浮动[][2],c++,arrays,function,C++,Arrays,Function,我在做一个项目,这并不重要。显然,我不能向浮点函数发送参数。 代码如下所示 float myfunction(float array[1][2]) { // ... return 0; } int main() { float array[1][2]; int foo = 0; // assigning values to the array foo = myfunction(array[1][2]); return 0; } 当我尝试编译时,出现错误“无法将参数1从'float'转换为'
float myfunction(float array[1][2])
{
// ...
return 0;
}
int main()
{
float array[1][2];
int foo = 0;
// assigning values to the array
foo = myfunction(array[1][2]);
return 0;
}
当我尝试编译时,出现错误“无法将参数1从'float'转换为'float[][2]”
怎么了?我该如何解决它呢?只需传递数组,不需要索引:
foo = myfunction(array);
您要传递的是某个单元格,而不是数组 首先,函数原型
float-myfunction(float-array[1][2])
令人困惑(you),因为它实际上的意思是:float-myfunction(float-array[][2])
或float-myfunction(float(*array)[2])
。函数接受指向两个浮点数的(一个或多个)数组的指针
第二个错误是,函数接受指向数组的指针,而您试图传递二维数组的单个浮点元素[1][2]。也许您想将整个数组传递给函数?您已经定义了变量:
浮点数组[1][2]代码>
然后,以这种方式调用函数:foo=myfunction(array)代码>
作为参数,只需设置变量名。您不应该这样做:foo=myfunction(数组[1][2])代码>
创建函数时,请按以下方式执行:键入myfunction(float Array[][w])
,即函数的类型(void、float…)和“w”为常量整数 好吧,我明白我的错误了。谢谢你的帮助!哦我现在觉得有点傻,因为我自己也没弄明白,但是谢谢你的回答!