2009-08-09 58 views
5

Tôi đang cố thực hiện một bài tập khác từ sách của Deitel. Chương trình tính toán lãi suất hàng tháng và in số dư mới cho mỗi người tiết kiệm. Vì bài tập là một phần của chương liên quan đến bộ nhớ động, tôi đang sử dụng toán tử "mới" và "xóa". Đối với một số lý do, tôi nhận được hai lỗi sau đây:Lỗi C++ LNK1120 và LNK2019: "biểu tượng bên ngoài chưa được giải quyết WinMain @ 16"

LNK2019: chưa được giải quyết biểu tượng bên ngoài WinMain @ 16 được tham chiếu trong chức năng ___tmainCRTStartup

gây tử vong lỗi LNK1120: 1 externals chưa được giải quyết

Đây là tập tin header lớp .

//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; 
}; 

tập tin với chức năng thành viên CPP các định nghĩa

//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 cuối cùng chương trình điều khiển:

#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; 
} 

Tôi đã dành một giờ cố gắng để con số này ra với không thành công.

Trả lời

7

Đi tới "Cài đặt trình kết nối -> Hệ thống". Thay đổi trường "Hệ thống con" từ "Windows" thành "Bảng điều khiển".

+0

Đó là nó. Cảm ơn!!! – Mike55

2

Khi tạo dự án mới, hãy chọn "Ứng dụng bảng điều khiển Win32" thay vì "Dự án Win32".

3

Có vẻ như bạn đang viết một ứng dụng bàn điều khiển tiêu chuẩn (bạn có int main()), nhưng người liên kết đang mong muốn tìm một điểm vào cửa sổ WinMain.

Trong trang thuộc tính của dự án của bạn, trong phần Trình liên kết, tùy chọn Hệ thống/Hệ thống con, bạn đã chọn "Windows (/ SUBSYSTEM: WINDOWS)" chưa? Nếu có, hãy thử thay đổi thành "Bảng điều khiển (/ SUBSYSTEM: CONSOLE)"

Các vấn đề liên quan