頭文件不兼容:宣言是
#ifndef H_bankAccount;
#define H_bankAccount;
class bankAccount
{
public:
string getAcctOwnersName() const;
int getAcctNum() const;
double getBalance() const;
virtual void print() const;
void setAcctOwnersName(string);
void setAcctNum(int);
void setBalance(double);
virtual void deposit(double)=0;
virtual void withdraw(double)=0;
virtual void getMonthlyStatement()=0;
virtual void writeCheck() = 0;
private:
string acctOwnersName;
int acctNum;
double acctBalance;
};
#endif
CPP文件:
#include "bankAccount.h"
#include <string>
#include <iostream>
using std::string;
string bankAccount::getAcctOwnersName() const
{
return acctOwnersName;
}
int bankAccount::getAcctNum() const
{
return acctNum;
}
double bankAccount::getBalance() const
{
return acctBalance;
}
void bankAccount::setAcctOwnersName(string name)
{
acctOwnersName=name;
}
void bankAccount::setAcctNum(int num)
{
acctNum=num;
}
void bankAccount::setBalance(double b)
{
acctBalance=b;
}
void bankAccount::print() const
{
std::cout << "Name on Account: " << getAcctOwnersName() << std::endl;
std::cout << "Account Id: " << getAcctNum() << std::endl;
std::cout << "Balance: " << getBalance() << std::endl;
}
請幫助getAcctOwnersName下,我得到一個錯誤,並setAcctOwnersName聲明,該聲明是「<錯誤 - 不兼容鍵入> bankAccount :: getAcctOwnersName()const「。
如前所述,代碼不應該編譯,因爲頭文件不包含''。我認爲這個問題可能是頭文件比'std :: string'提取了'string'的不同含義。嘗試將'#include '放入標題,並在其中使用'std :: string'而不是普通的'string'。看看是否有幫助。 –
Angew
2013-05-08 12:29:35
除非這是編譯器顯示的* first *錯誤,否則最好忽略它。始終處理從上到下的錯誤列表;不要從打印的最後一張開始,儘管這是在輸出中最容易找到的。通常,一個程序的早期錯誤可能會導致後來出現一連串的錯誤,如果沒有解決首先觸發它們的錯誤,那麼嘗試修復後面的錯誤並不是一件好事。 – 2013-05-08 12:32:09