ошибка неверного преобразования из 'float *' в 'int' [-fpermissive] - PullRequest
0 голосов
/ 08 ноября 2018

Хорошо, я пытаюсь объединить некоторые числа в другие с помощью функции. Вектор "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 голосов
/ 08 ноября 2018
void ConversioneInF ()
{
    for (int i=0;i<MAX_GRADI;i++)
        tempf[i]=(9.0/5.0)*tempc[i]+32;
}

В любом случае, tempf глобален, вам не нужно его возвращать.

0 голосов
/ 08 ноября 2018

В вашей функции ConversioneInf вы возвращаете tempf. Это float-массив, который в c ++ является указателем на float (float*) Этот тип не может быть преобразован в указанный тип возврата int. Поскольку вы не используете возвращаемое значение, просто измените его на void:

void ConversioneInF ()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...