gpt4 book ai didi

C++ - 编译时出错

转载 作者:行者123 更新时间:2023-11-28 00:44:57 26 4
gpt4 key购买 nike

这是我的头文件,它包含一个类及其函数。我相信我没有正确声明函数,所以有人可以指出我的错误在哪里吗?多谢!这里一定有一些菜鸟错误,我是 C++ 的新手。

using namespace std;



class bankAccount
{
public:
int accNo;
int password;

double balance;
double withdrawamt;
double depositamt;

char name[20];
char address[40];
char username[10];

public:

double checkbalance();
double deposit();
double withdraw();

};

bankAccount::withdraw()
{
cout << "Enter Withdraw amount: ";
cin >> withdrawamt;
if (balance > withdrawamt)
balance = (balance - withdrawamt);
}

最佳答案

您的 withdraw 函数中没有返回类型。它应该是:double bankAccount::withdraw()

代替 bankAccount::withdraw()

检查头文件中的函数原型(prototype)和编译器的错误代码。例如,复制粘贴到 ideone 会立即给出答案:

prog.cpp:25:23: error: ISO C++ forbids declaration of ‘withdraw’ with no type [-fpermissive] prog.cpp:25:1: error: prototype for ‘int bankAccount::withdraw()’ does not match any in class ‘bankAccount’ prog.cpp: 21:16: error: candidate is: double bankAccount::withdraw()

祝你好运

编辑:

  1. 我忘了明确说明您还应该在 withdraw 方法中添加 return 语句。
  2. 您应该问问自己是否真的想对名称、地址和用户名使用静态数组。我的两分钱是为用户创建一个单独的类,因为地址在逻辑上不属于银行账户(反正不属于我)。
  3. 存款应以 double 作为参数,并返回 void。
  4. 您不需要取款金额和存款金额的成员变量。使它们成为局部变量,或者更好地将它们作为参数传递给您的方法,如下面的代码所示。

这是一个替代实现,请注意我留下了名称和密码,但实际上这些应该移动到不同的类:

#include <iostream>
#include <string>
#include <vector>
using namespace std;

class bankAccount
{
public:
int accNo;
int password;

vector<string> name;
vector<string> address;
vector<string> username;

private:
double balance;

public:
bankAccount(double deposit) : balance(deposit) {}
double checkBalance() { return balance; }
void deposit(double amount);
void withdraw(double amount);

};

void bankAccount::deposit(double amount)
{
balance += amount;
}

void bankAccount::withdraw(double amount)
{
if (balance > amount)
balance = (balance - amount);
}

int main(int argc, char* argv[])
{
bankAccount someOnesAccount = bankAccount(20.0);
someOnesAccount.deposit(30);
someOnesAccount.withdraw(15);
cout << someOnesAccount.checkBalance();
return 0;
}

我希望这对您有所帮助。我为之前的错误答案道歉。另外请注意,此代码还有很多需要改进的地方。

关于C++ - 编译时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16709575/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com