代码保持说:" [错误]无法转换'浮动*'到'漂浮'争论' 1' to' void test(float,int)'"

时间:2016-04-21 20:51:00

标签: c++

#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,大小);但我无法弄清楚什么是错的(我也在学习编码,只是学习数组/困惑)

3 个答案:

答案 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)
{

}