c++ - 声明与类型不兼容

标签 c++ string types

头文件:

#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”不兼容。

最佳答案

你需要

#include <string>

在您的 bankAccount 头文件中,将字符串引用为 std::string

#ifndef H_bankAccount;
#define H_bankAccount;

#include <string>

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

   ....

一旦包含在 header 中,您就不再需要将其包含在实现文件中。

关于c++ - 声明与类型不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16440661/

相关文章:

r - 如何在R中搜索带括号的字符串

sql-server-2005 - Delphi:Delphi和Microsoft SQL Server 2005从函数值进行错误的计算

c++ - 从 const 用户定义类转换为 C++ 中的内置类型

c++ - 我在 visual studio 的调用堆栈上看到的这些十六进制字符串是什么

string - 根据另一个文件的信息从一个文件中提取行和子字符串

c++ - 处理系统调用\标准库异常故障

collections - F# 中 list 和 [] 的区别

vb.net - 是否可以在 VB.net 中测试两种类型是否具有相同的未知继承?

c++ - 这个语法是什么?

c++ - 无法将 Boost.Any 对象传递给 C++ Lua 绑定(bind)