簡體   English   中英

C ++函數問題

[英]C++ Function Problem

我已經反復研究了這個問題,並不斷出現此錯誤:'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 *,或者為什么不將整數讀取為字符串呢?

您將ReadDials聲明為具有9個參數的函數:

int ReadDials(char, char, char, char, char, char, char, char, int);

然后將其稱為不提供任何內容:

while(quit != true || quit != true)
ReadDials();

編譯器抱怨。 令人驚訝嗎?

readDials被聲明為帶有多個參數的函數,因此在不提供相應參數的情況下調用readDials是一個錯誤。

您必須提供參數:

const int result(ReadDials(num1, num2, num3, num4, num5, num6, num7, num8, code));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM