错误的从'float *'到'int'的无效转换[-fpermissive]

时间:2018-11-08 16:36:13

标签: c++ function

好吧,我正在尝试通过函数将一些数字转换为其他数字。向量“ tempc”包含7摄氏度数。类型“ tempf”将包含华氏温度。但是我在标题“从'float *'到'int'[-fpermissive]的错误无效转换”中得到了这个错误。我是编程新手,所以我真的是新手。抱歉,该代码是意大利语

#include <iostream>
using namespace std;

//dichiarazione variabili e vettori
float tempc[7] = {23,25,22,19,18,20,16};
float tempf[7];
const int MAX_GRADI = 7;

//funzione conversione
int ConversioneInF ()
{
    for (int i=0;i<MAX_GRADI;i++)
        tempf[i]=(9/5)*tempc[i]+32; //C in F
    return tempf;

}

int main () 
{
    ConversioneInF();
    for (int i=0;i<MAX_GRADI;i++)
        cout<<"La temperatura in fahrenheit e' :"<<tempf[i]<<endl;

    return 0;
}

2 个答案:

答案 0 :(得分:2)

在函数ConversioneInf中,您将返回tempf。 这是一个浮点数组,在c ++中是一个指向浮点(float*)的指针。 此类型不能转换为指定的返回类型int。 由于不使用返回值,只需将其更改为void:

void ConversioneInF ()

答案 1 :(得分:1)

void ConversioneInF ()
{
    for (int i=0;i<MAX_GRADI;i++)
        tempf[i]=(9.0/5.0)*tempc[i]+32;
}

无论如何,tempf是全局的,您不需要返回它。