错误:无法将“float”转换为“float*”作为参数

大卫·戈德拉泽

我的目标是将数组传递给函数,但出现以下错误:

错误:无法将参数 '9' 的 'float' 转换为 'float*' 到 'void calc_fun(float*, float*, float*, float*, float*, float*, float*, float*, float*, float *, int)' 
     calc_fun(rate, hrs_worked, total, overtime, state_tax,fed_tax, uni_fee, net, total_gross, avg_gross, SIZE);

而且我真的不明白为什么,因为我认为它遵循与void input_fun(...)似乎工作得很好的相同步骤

IDE 显示的其他错误,这可能会有所帮助。(不在调试器中,我使用 CLion):

calc_fun(rate, hrs_worked,gross, overtime, state_tax, fed_tax, uni_fee, net, total_gross, avg_gross, SIZE);` -> 没有匹配的函数调用“calc_fun” 


void calc_fun(float rate[], float hrs[],浮动总[],浮动公开[],浮动st_tx[],浮动fed_tx[],浮动uni_fee[],浮动净[],浮动tgross,浮动agross,const int S)`->从未使用过,我不使用不理解这个,因为它在`int main`中使用。
 

任何帮助将不胜感激,谢谢。

#include <iostream>
#include <iomanip>
#include <string>
#include <cmath>

using namespace std;

const float OVERTIME_R = 1.5,
             STATE_TAX = 0.06,
             FED_TAX = 0.12,
             UNION_FEE = 0.02;

const int SIZE = 10;

typedef string INFO;

void input_fun(INFO[], INFO[], INFO[], INFO[], float[], float[], const int);
void calc_fun(float[], float[], float[], float[], float[], float[], float[], float[], float[], float[], const int);

int main()
{
    INFO f_name[SIZE],
         m_name[SIZE],
         l_name[SIZE],
         ID[SIZE];

    float rate[SIZE],
          hrs_worked[SIZE],
          gross[SIZE],
          overtime[SIZE],
          state_tax[SIZE],
          fed_tax[SIZE],
          uni_fee[SIZE],
          net[SIZE],
          total_gross = 0,
          avg_gross = 0;

    input_fun(f_name, m_name, l_name, ID, rate, hrs_worked, SIZE);
    calc_fun(rate, hrs_worked, gross, overtime, state_tax,fed_tax, uni_fee, net, total_gross, avg_gross, SIZE);

    return 0;
}

void input_fun(INFO first[], INFO mid[], INFO last[], INFO id[], float payrate[], float hrs[], const int S)
{

    for(int i = 0; i < S; i++)
    {
        cout << "Enter first name of employee    "<<i+1<<" : " << endl;
        cin >> first[i];

        cout << "Enter middle name of employee   "<<i+1<<" : " << endl;
        cin >> mid[i];

        cout << "Enter last name of employee     "<<i+1<<" : " << endl;
        cin >> last[i];

        cout << "Enter the ID of employee        "<<i+1<<" : " << endl;
        cin >> id[i];

        cout << "Pay rate of employee " << i+1 << ": " << endl;
        cin >> payrate[i];

        if(payrate[i] < 0 || payrate[i] > 50)
        {
            while(payrate[i] < 0 || payrate[i] > 50)
            {
                cout << "Must be between 0 and 50: " << endl;
                cin >> payrate[i];
            }
        }

        cout << "Hours of work by employee " << i+1 << ": " << endl;
        cin >> hrs[i];

        if(hrs[i] < 0 || hrs[i] > 60)
        {
            while(hrs[i] < 0 || hrs[i] > 60)
            {
                cout << "Must be between 0 and 60: " << endl;
                cin >> hrs[i];
            }
        }

    }

}

void calc_fun(float rate[], float hrs[], float gross[], float overt[], float st_tx[], float fed_tx[], float uni_fee[],
        float net[], float tgross, float agross, const int S){
    for (int i = 0; i < S; i++) {
        if (hrs[i] > 40) {
            overt[i] = (hrs[i] - 40.0) * rate[i] * OVERTIME_R;
        }

        gross[i] = (rate[i] * hrs[i]) + overt[i];

        st_tx[i] = gross[i] * STATE_TAX;
        fed_tx[i] = gross[i] * FED_TAX;
        uni_fee[i] = gross[i] * UNION_FEE;
        net[i] = gross[i] - (st_tx[i] + fed_tx[i] + uni_fee[i]);

        tgross += gross[i];
        agross = tgross / S;

    }
}
埃罗里卡
void calc_fun(float[], float[], float[], float[], float[], float[], float[], float[], float[], float[], const int);
// scroll right                                                                                ^^^^^^^

您已将此参数声明为指针。

float /* snip */
      total_gross = 0,

您已声明total_grossfloat. 它不是数组,也不是指针。

calc_fun(rate, hrs_worked, gross, overtime, state_tax,fed_tax, uni_fee, net, total_gross, avg_gross, SIZE);
// scroll right                                                              ^^^^^^^^^^^

total_gross作为一个参数传递,你声明为一个指针。类型不匹配。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

错误:无法将参数“1”的“float*”转换为“float”

来自分类Dev

错误无法将“ float *”转换为“ float”

来自分类Dev

无法将'Float'类型的值转换为预期的参数类型'Binding <Float>'错误Swift 5.2

来自分类Dev

错误:无法将参数'3'的'float(*)[((((sizetype)((((ssizetype)n)+ -1))+ 1)]'转换为'float(*)[100]'

来自分类Dev

'无法将参数'1'的'float'转换为'float *'

来自分类Dev

错误:无法将“ float(*)(int)”转换为“ float”

来自分类Dev

无法将“ float *”转换为“ float”

来自分类Dev

错误如下:ValueError:无法将float NaN转换为整数

来自分类Dev

矩阵乘法错误:无法将系列转换为 <type 'float'>

来自分类Dev

无法在初始化时将 float float 转换为 float

来自分类Dev

2错误-无法将类型system.collection.generic.list <float>隐式转换为float,也无法将float []类型隐式转换为float

来自分类Dev

将 [Float] 转换为变量参数

来自分类Dev

无法将varchar转换为float

来自分类Dev

使用float_format参数的熊猫to_excel()-> ValueError:无法将字符串转换为float

来自分类Dev

使用float_format参数的熊猫to_excel()-> ValueError:无法将字符串转换为float

来自分类Dev

将Column(str)转换为(Float),ValueError:无法将字符串转换为float:'Null'

来自分类Dev

具有数组输入的自定义函数:错误:|无法将float转换为float * | 没有任何演员

来自分类Dev

为什么我的float变量语句不断显示“无法将类型double隐式转换为float”错误?

来自分类Dev

Python(pyspark)错误= ValueError:无法将字符串转换为float:“ 17”

来自分类Dev

Python(pyspark)错误= ValueError:无法将字符串转换为float:“ 17”

来自分类Dev

Swift函数错误:“ Float”无法转换为“ Void”

来自分类Dev

将Float转换为Int

来自分类Dev

将PoolByteArray转换为float

来自分类Dev

将float转换为int

来自分类Dev

将float转换为整数

来自分类Dev

将float转换为sprintf

来自分类Dev

Golang将float64转换为int错误

来自分类Dev

无法将类型“ double”隐式转换为“ float”

来自分类Dev

“无法将'float'对象转换为隐式str“

Related 相关文章

  1. 1

    错误:无法将参数“1”的“float*”转换为“float”

  2. 2

    错误无法将“ float *”转换为“ float”

  3. 3

    无法将'Float'类型的值转换为预期的参数类型'Binding <Float>'错误Swift 5.2

  4. 4

    错误:无法将参数'3'的'float(*)[((((sizetype)((((ssizetype)n)+ -1))+ 1)]'转换为'float(*)[100]'

  5. 5

    '无法将参数'1'的'float'转换为'float *'

  6. 6

    错误:无法将“ float(*)(int)”转换为“ float”

  7. 7

    无法将“ float *”转换为“ float”

  8. 8

    错误如下:ValueError:无法将float NaN转换为整数

  9. 9

    矩阵乘法错误:无法将系列转换为 <type 'float'>

  10. 10

    无法在初始化时将 float float 转换为 float

  11. 11

    2错误-无法将类型system.collection.generic.list <float>隐式转换为float,也无法将float []类型隐式转换为float

  12. 12

    将 [Float] 转换为变量参数

  13. 13

    无法将varchar转换为float

  14. 14

    使用float_format参数的熊猫to_excel()-> ValueError:无法将字符串转换为float

  15. 15

    使用float_format参数的熊猫to_excel()-> ValueError:无法将字符串转换为float

  16. 16

    将Column(str)转换为(Float),ValueError:无法将字符串转换为float:'Null'

  17. 17

    具有数组输入的自定义函数:错误:|无法将float转换为float * | 没有任何演员

  18. 18

    为什么我的float变量语句不断显示“无法将类型double隐式转换为float”错误?

  19. 19

    Python(pyspark)错误= ValueError:无法将字符串转换为float:“ 17”

  20. 20

    Python(pyspark)错误= ValueError:无法将字符串转换为float:“ 17”

  21. 21

    Swift函数错误:“ Float”无法转换为“ Void”

  22. 22

    将Float转换为Int

  23. 23

    将PoolByteArray转换为float

  24. 24

    将float转换为int

  25. 25

    将float转换为整数

  26. 26

    将float转换为sprintf

  27. 27

    Golang将float64转换为int错误

  28. 28

    无法将类型“ double”隐式转换为“ float”

  29. 29

    “无法将'float'对象转换为隐式str“

热门标签

归档