【发布时间】:2018-11-08 16:36:12
【问题描述】:
好的,我正在尝试通过函数将一些数字转换为其他数字。矢量“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;
}
【问题讨论】:
-
9/5在 c++ 中恰好是1,因为它们是整数。9.0/5大约是1.8。 -
您的函数的返回类型为
int,但您正试图返回float的数组。ConversioneInF的返回值是什么意思? -
你的
tempf是全局的,不需要从你的函数中返回任何东西。 -
为什么你的
ConversioneInF有int返回类型?为什么你return tempf来自它?你能解释一下这些东西的目的吗?请不要使用全局变量。 -
你的循环有误导性的缩进,循环体应该有
{}。不幸的是,这两个错误抵消了