C++: No Instance of Overloaded Function
HighInterestChecking Header: #Ifndef H_Highinterestchecking #Define H_Highinterestchecking #Include "Noservicechargechecking. H" #Include Class...
highInterestChecking Header:
#ifndef H_highInterestChecking
#define H_highInterestChecking
#include "noservicechargechecking.h"
#include <string>
class highInterestChecking: public noServiceChargeChecking
{
public:
highInterestChecking(std::string =" ",int = 0, double = 0.00, double = 0.00, double = 0.00);
};
#endif
highInterestChecking cpp:
#include "highInterestChecking.h"
using std::string;
highInterestChecking::highInterestChecking(string name, int acct, double bal, int numCheck, double min, double i)
{
bankAccount::setAcctOwnersName(name);
bankAccount::setAcctNum(acct);
bankAccount::setBalance(bal);
checkingAccount::setChecks(numCheck);
noServiceChargeChecking::setMinBalance(min);
noServiceChargeChecking::setInterestRate(i);
}
I have the error "No instance of overloaded function." under the constructor name highInterestChecking in the cpp file not sure what is causing it ive looked at it for a while now can't seem to find an error. maybe someone will help?
3 Answers
In the header you have:
highInterestChecking(std::string =" ",int = 0, double = 0.00, double = 0.00, double = 0.00);
Which takes 5 arguments, In the source file you have:
highInterestChecking::highInterestChecking(string name, int acct, double bal, int numCheck, double min, double i)
^^^^^^^^^^^
which takes 6 arguments. It seems like int numCheck does not match the header signature.
You have this constructor in the class declaration:
highInterestChecking(std::string =" ",int = 0, double = 0.00, double = 0.00, double = 0.00);
and this one in the class definition:
highInterestChecking::highInterestChecking(string name, int acct, double bal, int numCheck, double min, double i)
The parameter types from both parameter lists must match.
highInterestChecking::highInterestChecking(string name, int acct,
double bal, int numCheck, double min, double i)
//^^^
does not exist in your class's header file, header file has 5 parameters, but you have 6 in cpp file, parameter type seems mismatched,