C ++ LNK1120 and LNK2019: "Unresolved external WinMain @ 16 character"

I am trying to do another exercise from Deitel’s book. The program calculates monthly interest and prints new balances for each of the contributors. Since the exercise is part of the chapter related to dynamic memory, I use the “new” and “delete” operators. For some reason, I get these two errors:

LNK2019: Unresolved WinMain @ 16 external character specified in ___ tmainCRTStartup function

fatal error LNK1120: 1 unresolved external

Here is the class header file.

//SavingsAccount.h
//Header file for class SavingsAccount

class SavingsAccount
{
public:
    static double annualInterestRate;

    SavingsAccount(double amount=0);//default constructor intialize  
                                        //to 0 if no argument

  double getBalance() const;//returns pointer to current balance
  double calculateMonthlyInterest();
  static void modifyInterestRate(double interestRate):

  ~SavingsAccount();//destructor

private:
    double *savingsBalance;
};

Cpp file with member function definitions

//SavingsAccount class defintion
#include "SavingsAccount.h"

double SavingsAccount::annualInterestRate=0;//define and intialize static data
                                        //member at file scope


SavingsAccount::SavingsAccount(double amount)
:savingsBalance(new double(amount))//intialize savingsBalance to point to new object
{//empty body
}//end of constructor

double SavingsAccount::getBalance()const
{
    return *savingsBalance;
}

double SavingsAccount::calculateMonthlyInterest()
{
    double monthlyInterest=((*savingsBalance)*annualInterestRate)/12;

    *savingsBalance=*savingsBalance+monthlyInterest;

    return monthlyInterest;
}

void SavingsAccount::modifyInterestRate(double interestRate)
{
    annualInterestRate=interestRate;
}

SavingsAccount::~SavingsAccount()
{
    delete savingsBalance;
}//end of destructor

End the end user driver program:

#include <iostream>
#include "SavingsAccount.h"

using namespace std;

int main()
{
SavingsAccount saver1(2000.0);
SavingsAccount saver2(3000.0);

SavingsAccount::modifyInterestRate(0.03);//set interest rate to 3%

cout<<"Saver1 monthly interest: "<<saver1.calculateMonthlyInterest()<<endl;
cout<<"Saver2 monthly interest: "<<saver2.calculateMonthlyInterest()<<endl;

cout<<"Saver1 balance: "<<saver2.getBalance()<<endl;
cout<<"Saver1 balance: "<<saver2.getBalance()<<endl;

return 0;
}

I spent an hour trying to figure it out without success.

+5
3

" → ". "" "Windows" "".

+7

, ( int main()), Windows WinMain.

yout, Linker, System/SubSystem, "Windows (/SUBSYSTEM: WINDOWS)"? , " (/SUBSYSTEM: CONSOLE)"

+3

" Win32" "Win32 Project".

+2

All Articles