#include <iostream>
using namespace std;
void test(float, int);
int main()
{
const int size=11;
float a[size];
test(a, size);
return 0;
}
void test(float a[], int size)
{
[....]
}
它指向测试(a,大小);但我无法弄清楚什么是错的(我也在学习编码,只是学习数组/困惑)
答案 0 :(得分:5)
您的函数原型void test(float, int);
与您的函数void test(float a[], int size)
不匹配。将顶部的原型更改为void test(float a[], int size);
(我希望在原型中保留输入变量名称以保持一致性,但这不是必需的。)
答案 1 :(得分:2)
你可能想写:
void test(float*, int);
// ...
void test(float* a, int size)
{
[....]
}
当使用数组参数调用test时,数组将衰减到指向其第一个元素的指针 - 并且它的大小将丢失。
答案 2 :(得分:0)
测试正向减速的参数类型错误。
试试这个。
#include <iostream>
using namespace std;
void test(float *, int);
int main()
{
const int size=11;
float a[size];
test(a, size);
return 0;
}
void test(float a[], int size)
{
}