私はDeitelの本から別の演習をしようとしています。プログラムは毎月の金利を計算し、各貯蓄者の新しい残高を印刷します。演習は動的メモリに関連する章の一部であるため、私は "新しい"と "削除"演算子を使用しています。あるクラスのヘッダーファイル1つの未解決の外部ここで C++ LNK1120とLNK2019エラー:「未解決の外部シンボルWinMain @ 16」
:LNK2019:未解決の外部シンボルのWinMain関数___tmainCRTStartupで参照16 @
致命的なエラーLNK1120何らかの理由で、私はこれらの2つのエラーを取得します。
//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ファイルを画成
//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
エンド最後にドライバプログラム:私はこれを理解しようとしている時間を費やしている
#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; }
〜と失敗。
それでした。ありがとう!!! – Mike55