函数调用的参数太多 我开始使用C++,并使用一个初学者项目模板来进行ATM银行系统。设置了很多函数,但我添加了一个函数,用于在创建新帐户时检查重复的帐号。一个用户被要求输入他们的新帐号,然后我添加了一个函数来检查它现在是否存在。如果该帐户存在,我希望该功能再次运行,并要求用户再次输入帐户号码,然后再次运行重复检查

函数调用的参数太多 我开始使用C++,并使用一个初学者项目模板来进行ATM银行系统。设置了很多函数,但我添加了一个函数,用于在创建新帐户时检查重复的帐号。一个用户被要求输入他们的新帐号,然后我添加了一个函数来检查它现在是否存在。如果该帐户存在,我希望该功能再次运行,并要求用户再次输入帐户号码,然后再次运行重复检查,c++,C++,我得到这个信息: 错误:函数调用的参数太多,应为0,但有1 int dup=ac.check\U dup(acno) 以下是点火顺序: 用户选择创建帐户: void write_account() { account ac; ofstream outFile; ifstream inFile; outFile.open("account.dat", ios::binary | ios::app); ac.create_account(); out

我得到这个信息:

错误:函数调用的参数太多,应为0,但有1 int dup=ac.check\U dup(acno)

以下是点火顺序: 用户选择创建帐户:

void write_account()
{

    account ac;
    ofstream outFile;
    ifstream inFile;
    outFile.open("account.dat", ios::binary | ios::app);
    ac.create_account();
    outFile.write(reinterpret_cast<char *>(&ac), sizeof(account));
    outFile.close();
}
void write_账户()
{
账户ac;
出流孔的直径;
河流充填;
outFile.open(“account.dat”,ios::binary | ios::app);
ac.创建_账户();
outFile.write(重新解释铸造(&ac),sizeof(账户));
outFile.close();
}
创建您的帐户:

void account::create_account()
{
    account ac;
    cout << "\nEnter The account No. :";
    cin >> acno;
    cout << "\nChecking account No...";

    int dup = ac.check_duplicate(acno);
    if (dup == 1)
    {
        cout << "\n\nEnter The Name of The account Holder : ";
        cin.ignore();
        cin.getline(name, 50);
        cout << "\nEnter Type of The account (C/S) : ";
        cin >> type;
        type = toupper(type);
        cout << "\nEnter The Initial amount(>=500 for Saving and >=1000 for current ) : ";
        cin >> deposit;
        cout << "\n\n\nAccount Created..";
    }
    cout << "\nAccount No. is taken. Please choose a different account No.";
    ac.create_account();
}
void account::create_account()
{
账户ac;
cout>acno;
沉淀;

cout整个错误消息是什么?哪一行导致错误?
ac.create_account();
您的
create_account()
函数是递归的,没有基本大小写?确实要这样做吗?
重新解释强制转换(&ac)
具有未定义的行为。@代码提示我已对上述消息进行了编辑。@LuisRodriguez错误消息
函数调用的参数太多,预期为0
表明您在未显示的代码的其他地方声明了另一个
检查重复项
。这正是您应该发布错误的原因。整个错误是什么或消息?哪一行导致错误?
ac.create_account();
您的
create_account()
函数是递归的,没有基本大小写?确实要执行此操作吗?
重新解释_cast(&ac)
具有未定义的行为。@代码提示我已对上述消息进行了编辑。@LuisRodriguez错误消息
函数调用的参数太多,预期为0
表明您在未显示的代码中的其他地方声明了另一个
检查重复项
。这正是您应该发布错误消息的原因。
    int check_duplicate(int n)
{
    bool found = false;
    int num;
    account ac;
    fstream File;
    File.open("account.dat", ios::binary | ios::in | ios::out);
    if (!File)
    {
        cout << "File could not be open !! Press any Key...";
    }
    while (!File.eof() && found == false)
    {
        File.read(reinterpret_cast<char *>(&ac), sizeof(account));
        if (ac.retacno() == n)
        {
            return 0;
            found = true;
        }
    }
    File.close();
    if (found == false)
        return 1;
}