繁体   English   中英

C ++错误C2660:函数没有3个参数

[英]C++ Error C2660: Function does not take 3 arguments

我正在绞尽脑汁去弄清楚。.我知道这很简单,但是我需要新的眼睛来弄清楚我所缺少的是什么?

该行下面包含**,从底部起第7行

我收到错误C2660:'drillOneProblem':函数没有3个参数。 请帮助!

// Drill into problem
void drillOneProblem()
{
int c, r1, r2; // passed-in parameters
int CorAns; // correct answer
int reply; // user's answer

// Ask first part of question and display first random number
cout << "\nWhat is " << r1;

// Display sign based on user's answer
switch (c)
{
    case '1': cout << " + ";
    CorAns = r1 + r2;
    break;
    case '2': cout << " - ";
    CorAns = r1 - r2;
    break;
    case '3': cout << " * ";
    CorAns = r1 * r2;
    break;
}

// Finish question and display second random number
// Ask answer, validate answer and display message
cout << r2 << " ? ";
cin >> reply;

if (reply == CorAns)
{
cout << "Yes, that is corret. Good job!";
}
else
cout << "No, the correct answer is: " << CorAns << endl << endl;
}

int main()
{
    int c; // user's menu choice
    int r1, r2; // random numbers

    //Display Menu
    displayMenu();

   // Get user's choice and validate if out of range
   c = getMenuChoice();

   // Continue with program if user doesn't quit
   while (c >= 1 && c < SENT)
{
    // Generate random numbers
    Gen2Rand(r1, r2);

    // Display question based on user's menu choice request answer and validate answer. 
    // Display message to show if correct or not correct. If not correct display correct answer
    **drillOneProblem(c, r1, r2);**

    // display menu again and ask for menu choice after problem has been processed, repeat until  
    user quits
    displayMenu();
    c = getMenuChoice();
    } return 0;
}

参数需要在函数声明的括号中声明。

所以这:

void drillOneProblem()
{
int c, r1, r2; // passed-in parameters

应该是这样的:

void drillOneProblem(int c, int r1, int r2)
{

声明你的功能为

void drillOneProblem(int c, int r1, ,int r2)

并删除函数内具有相同名称的局部变量

您的函数声明中没有参数(第一行)

void drillOneProblem()

它应该是:

void drillOneProblem(int c, int r1, int r2){

您声明中没有参数

 void drillOneProblem()

它应该是void drillOneProblem(int c,r1,r2);

并且您应该删除fuc中的变量,如下所示:

void drillOneProblem(int c, r1, r2)
  {
  //int c, r1, r2; // passed-in parameters
  .....
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM