FEHLER "cannot convert 'float' in 'float...'..."

Gibt es wahrscheinlich andere kleine Formatierungsfehler hier, die werde ich brauchen, um zu beheben, etc. was ich aber brauche Hilfe mit dem ist, was mit den folgenden:

Lab8pt1.cpp: In function 'float Gehalt(float, float)':

Lab8pt1.cpp:48: Fehler: Zuweisung der Funktion " float Gehalt(float, float)'

Lab8pt1.cpp:48: error: cannot convert 'float' in 'float ()(float, float)' Zuweisung

Lab8pt1.cpp:50: Fehler: Zuweisung der Funktion " float Gehalt(float, float)'

Lab8pt1.cpp:50: Fehler: cannot convert 'double' in 'float ()(float, float)' Zuweisung

Lab8pt1.cpp:51: Fehler: cannot convert 'float (*)(float, float)' in 'float' im Gegenzug

Ich weiß, es ist bezogen auf mein Gehalt-Funktion, aber ich bin mir nicht sicher, was das Problem mit meinem Schwimmer ist. Dies soll nur eine einfache Lab-Zuordnung, die uns lehrt, wie man Funktionen verwenden (wir haben nur den code schreiben, für die Funktionen, der rest wurde uns gegeben).

Hilfe, bitte! Vielen Dank im Voraus!

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

using namespace std ;

void Header(void) ;            
float Salary(float Hours, float Pay_Rate);  
void Print_it(float Hours,float Pay_Rate,float Sal, float Tax_Rate, string Name);  
void Read(float &hour, float &Pay_R,string &name) ;
bool Verify(float Hours, float Pay_Rate);  

int main ( void )
{
    float   Pay_Rate, Hours, Sal, Tax;
    const float  Tax_Rate= (float)0.09 ;
    string name;

    Header();
    for(int i = 0 ; i < 3 ; i++){
         Read(Hours,Pay_Rate,name);
         Sal = Salary(Hours,Pay_Rate);
         Print_it(Hours,Pay_Rate,Sal, Tax_Rate,name);    
    }
    cout<<"\n\n\n**********\t End of report \t*****\n\n\n\n";
    return 0 ;
}

void Header( void )
{
     string name;
     cout << "Welcome, " << name << ", to the Salary Calculator: a program that will calculate your salary.";
     return;
} 

float Salary(float Hours, float Pay_Rate)
{
     if( Hours <= 40 )
         Salary = Hours * Pay_Rate;
     else if( Hours > 40)
         Salary = Hours * (Pay_Rate * 1.5);
     return(Salary);
}

void Print_it(float Hours,float Pay_Rate,float Sal, float Tax_Rate, string Name)
{
     cout << fixed << setprecision(2);
     cout << "Name: " << left << setw(15) << Name << endl;
     cout << "Hours worked: " << left << setw(15) << Hours << endl;
     cout << "Pay rate: " << left << setw(15) << Pay_Rate << endl;
     cout << "Tax rate: " << left << setw(15) << Tax_Rate << endl;
     cout << "Salary: " << left << setw(15) << Sal << endl;
     return;
}

void Read(float &hour, float &Pay_R,string &name) 
{
     cout << "Please enter your name: ";
     getline(cin, name);
     cout << "Please enter number of hours worked: ";
     cin >> hour;
     cout << "Please enter your pay rate: ";
     cin >> Pay_R;
     return;
}

bool Verify(float Hours, float Pay_Rate)
{
     if( Hours < 0 || Hours > 60 || Pay_Rate < 0 || Pay_Rate > 500)
         return false;
     else
         return true;
}  
  • Schauen Sie genauer auf Ihre Salary Funktion. Sie versuchen, weisen Sie den Wert, um zurück zu der eigentlichen Funktion.
  • Haben Sie kam aus Pascal zu C++?
Schreibe einen Kommentar