[说明] expected 'int (*)[3]' but argument is of type 'int'
时间: 2024-06-05 07:09:12 浏览: 11
这个错误提示表明你的函数调用中传递的参数类型与函数定义中形参类型不一致,导致编译器无法匹配。具体来说,函数定义中形参的类型是 `int (*)[3]`,表示一个指向长度为3的int数组的指针,而你传递的实参类型是 `int`,只是一个整数值。
你需要检查一下函数调用的参数,确保传递的参数类型与函数定义中形参的类型一致。如果你的实参是一个长度为3的int数组,那么你需要传递它的地址,即 `&array`。如果你只是想传递数组中的某个元素,那么你需要指定该元素的下标,例如 `array[0]`。
相关问题
怎么解决expected 'int *' but argument is of type 'int'问题
这个问题通常出现在函数参数类型不匹配的情况下。如果函数期望传入一个指向整数类型的指针,但是你传递了一个整数类型的变量或者字面量,就会出现这个问题。
解决方法有两种:
1. 将参数改为指向整数类型的指针。
2. 将传入的整数类型的变量或者字面量的地址传递给函数。
具体哪种方法使用,需要看你的具体代码和函数定义。
expected ‘long int *’ but argument is of type ‘long int’ int math(long a[],float b[]);
这个错误通常是因为函数的参数类型不匹配导致的。根据你提供的函数声明和错误信息,可以看出该函数的第一个参数应该是一个指向long int类型数组的指针,但是在调用该函数时传递的参数是一个long int类型的值。这会导致编译器认为参数类型不匹配,从而产生错误。
要解决这个问题,你需要修改函数调用的方式,将数组名作为指针传递给函数。例如,如果你有一个名为a的long int类型数组和一个名为b的float类型数组,你可以这样调用函数:
```
math(a, b);
```
这样可以将数组名a和b作为指针传递给函数,从而解决类型不匹配的问题。