Jaki błąd zrobiłem w tym kodzie?

0

Wyświetla mi się błąd:
invalid operands of types 'void' and '<unresolved overloaded="overloaded" function="function" type="type">'

#include <iostream>

using namespace std;

float cale(float c)
{
    return c*39.37;

}

float jardy(float j);
void mile(float m)
{
    cout<<"3. "<<m*0.0006213;



}

int main()
{
    float metry;
    cout <<"podaj ile metrow zamienic na 1.cale,2.jardy 3.mile"<<endl;
    cin>>metry;

    cout<<"1. "<<cale(metry)<<endl;
    cout<<"2. "<<jardy(metry)<<endl;
    mile(metry)<<endl;






    return 0;
}
float jardy(float j)
{
  return j*1.0936;

}
0

Co to ma znaczyć?

mile(metry)<<endl;

mile zwraca void

0
#include <iostream>

using namespace std;

float metry;

float ile_cali(float m)
{
   return m*39.37;
}

float ile_jardow(float x);

void ile_mil(float m)
{
   cout<<"na mile: "<<m*0.0006213;
}

int main()
{
    cout << "Podaj ile metrow: ";
    cin>>metry;

    cout<<"na cale: "<<ile_cali(metry)<<endl;
    cout<<"na jardy: "<<ile_jardow(metry)<<endl;
    ile_mil(metry);

    return 0;
}

float ile_jardow(float x)
{
   return x*1.0936;
}

ten program napisany jest bardzo podobnie i na nim się wzorowałem a działa i nie wyświetla błędu i liczy też mile, nie wiem czym różni się to co ja napisałem od tego programu oprócz zmiennych.

2
ile_mil(metry);
mile(metry)<<endl;

Różnica jest znacząca. Wyniku funkcji mile, zwracającej void, czyli nic, próbujesz użyć w operatorze <​< z endl.

1 użytkowników online, w tym zalogowanych: 0, gości: 1