nagłówka:deklaracja jest niezgodna z typ
#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
pliku 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;
}
Proszę pomóc mi się błąd pod getAcctOwnersName i setAcctOwnersName stwierdzając, że deklaracja jest sprzeczna z "< ERROR- typ> account bankcount :: getAcctOwnersName() const ".
Jak przedstawiono, kod nie powinien się kompilować, ponieważ plik nagłówkowy nie zawiera "". Myślę, że problemem może być nagłówek wychwytujący inne znaczenie 'ciągu' niż' std :: string'. Spróbuj wstawić '#include ' do nagłówka i użyj 'std :: string' zamiast zwykłego' string'. Sprawdź, czy to pomaga. –
Angew
O ile nie jest to * pierwszy * błąd wyświetlany przez kompilator, prawdopodobnie najlepiej go zignorować. Zawsze sprawdzaj listę błędów od góry do dołu; nie zaczynaj od ostatniego, który drukuje, nawet jeśli jest to najłatwiejsze w wynikach. Często jeden błąd na początku programu może powodować kaskadę błędów w późniejszym czasie i nie ma sensu próbować naprawiać tych późniejszych, nie odnosząc się do tego, który wywołał je wszystkie na pierwszym miejscu. –