I've been working on this homework problem for a bit and I think I have it solved except I'm running into an error code

>Hw_3.obj : error LNK2019: unresolved external symbol "void __cdecl printTable(double,double,double,int)" (?printTable@@YAXNNNH@Z) referenced in function "void __cdecl process(void)" (?process@@YAXXZ)

1>Hw_3.obj : error LNK2019: unresolved external symbol "public: __thiscall Mortgage::Mortgage(double,double,int)" (??0Mortgage@@QAE@NNH@Z) referenced in function "void __cdecl process(void)" (?process@@YAXXZ)

It's referring to something in:

And I have no idea how to fix it, any help or pointers would be appreciated.Code:Mortgage mtg(Loan, rate, term); double calc_payment(double Loan, double rate, int term); { payment = Loan * term / (1 - pow(1 + rate, -term)); } void printTable(double payment, double Loan, double rate, int term); { cout << setw(14) << "Interest" << setw(10) << "Principal" << endl; cout << setw(14) << "--------" << setw(10) << "---------" << endl; double total_principal = 0; // total of payments applied to principal double total_interest = 0; // total of payments applied to interest for (int i = 0; i < term; i++) // print each payment { double to_interest = Loan * rate; // periodic interest double to_principal = payment - to_interest; // principal part of payment Loan -= (payment - to_interest); total_interest += to_interest; total_principal += to_principal; cout << setw(3) << i + 1 << ":" << setw(10) << to_interest << setw(10) << to_principal << endl; } cout << endl << setw(14) << total_interest << setw(10) << total_principal << endl; } void display(); cout << "Mortgage Summary : \n\n"; cout << "Principal : " << Loan; cout << "\nAnnual Rate : " << rate << "%\n"; cout << "Term : " << term << "\n"; cout << "Monthly Payment : " << payment << "\n\n"; printf("Do you want to print the payment table? (Y/N) "); cin >> resp; if ( resp[0] == 'Y' || resp[0] == 'y') printTable(payment, Loan, rate, term); else return; }