我已经反复研究了这个问题,并不断遇到此错误:'ReadDials':函数不接受0个参数,我能否至少在正确的方向上取得一点?

#include <iostream>

using namespace std;

//declaring function
int ReadDials(int);

int main()
{
    //declaring each character of the phone number
    char num1, num2, num3, num4, num5, num6, num7, num8;
    bool quit = false;
    int code;

    while(quit != true || quit != true)
    ReadDials(code);
    if (code == -5)
        cout << "I love football!" << endl;
    else
        return 0;
}

int ReadDials()
{
    //getting number from user
    cout << "Enter a phone number (Q to quit): ";
    cin >> num1;
    if (num1 == 'q' || num1 == 'Q')
    {
        code = -5;
        return code;
    }
    cin >> num2 >> num3 >> num4 >> num5 >> num6 >> num7 >> num8;
}

最佳答案

实际上,ReadDials带有9个参数,因此您不能在没有传递anith的情况下调用ReadDials()。然后,据我所知,函数“业力”似乎返回用户“拨号”的数字,但由于参数是通过值传递的,因此此意图很可能会失败,因此函数更改不会传播到外部。为此,您可能最好将char *传递给函数char *,或者为什么不将整数读取为字符串呢?

08-27 22:23