简体   繁体   中英

C++ Error C2660: Function does not take 3 arguments

I'm racking my brain to figure this out.. I know its something simple but I need a new set of eyes to figure out what I'm missing?

Line contains ** below, 7th line from the bottom

I'm getting an error C2660: 'drillOneProblem' : function does not take 3 arguments. Help Please!

// 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;
}

Parameters need to be declared in the brackets in function declaration.

So this:

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

should be this:

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

declare your function as

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

and remove local variables with same name inside the function

You don't have the parameters in your function declaration (first line)

void drillOneProblem()

it should be:

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

you do not have the params in you declaration

 void drillOneProblem()

it should be void drillOneProblem(int c, r1, r2);

and you should remove the varriables in you fuc,like that:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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