声明与类型不兼容 [英] Declaration is incompatible with type

查看:1111
本文介绍了声明与类型不兼容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

头文件:

#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下得到一个错误,

Please help i get an error under getAcctOwnersName, and setAcctOwnersName stating that the declaration is incompatible with "< error-type > bankAccount::getAcctOwnersName() const".

推荐答案

您必须

#include <string>

std :: string 的字符串。

#ifndef H_bankAccount;
#define H_bankAccount;

#include <string>

class bankAccount
{
public:
    std::string getAcctOwnersName() const;

   ....

不再需要将其包含在实施文件中。

once it is included in the header, you no longer need to include it in the implementation file.

这篇关于声明与类型不兼容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆