Solving C++ Function Calling Error in Code

In summary: Or would I use a function to check the function? I am not sure how to do that. Could you show me?In summary, the conversation discussed a compilation error that occurred when trying to call a function with one or two arguments. The code provided shows that the error was due to declaring the function as a variable instead of a function. After fixing this issue, the program was able to successfully calculate the sum and square root of two positive numbers. The last part of the conversation mentioned writing a stub program, which would involve creating a self-test option and checking the function using a reverse value.
  • #1
keith03
31
0
Hello,

I have been pretty good with this stuff...but this is the umteenth time I have run into this error. I have gone around it by just using the direct function in the code, but I really really want to master this function calling. My compilation error is always term does not evaluate to a function taking 1 (or two) arguements. Where am I going wrong? I did the current function that comes up with the error by the book. literally. Here is the code. The Error comes up at the Add_num (N1_n,N2_n).


#include<iostream>
#include<cmath>
#include<math.h>
#include"Formulas.h"
double SQRT_NORM (double a);

using namespace std;

int main ()

{
bool again = false;
do
{
double N1, N2, N1_n, N2_n, Newz, Add_num, USR_SQRT;
char choice;


cout<<"Enter a first of two positive numbers:"<<endl;
cin>>N1;
N1=N1_n;
cout<<"Enter the second number of two positive numbers:"<<endl;
cin>>N2;
N2=N2_n;


Add_num (N1_n,N2_n); HERE IS WHERE THE ERROR IS REPORTED

SQRT_NORM (Newz);

cout<<"The Magnitude of the complex number is:"<<endl;


cout<< "\n Would you like to run the program again?";
cin>> choice;


if (choice == 'y')
{
again = true;
system ("cls");
}
else
again = false;
} while (again);
return 0;

}

//Below are the formulas used in this lab

double Add_num (double a, double b)
{
double Add_num;
Add_num = a+b;
return Add_num;
}

double SQRT_NORM (double a)

{
double SQRT_NORM;
SQRT_NORM = sqrt (a);
return SQRT_NORM;
}
 
Technology news on Phys.org
  • #2
It's missing the function prototype

double Add_num (double a, double b);
 
  • #3
It's been a while since I've done C++ but, these look backwards to me:

N1=N1_n;
N2=N2_n;
 
  • #4
keith03 said:
Hello,

I have been pretty good with this stuff...but this is the umteenth time I have run into this error. I have gone around it by just using the direct function in the code, but I really really want to master this function calling. My compilation error is always term does not evaluate to a function taking 1 (or two) arguements. Where am I going wrong? I did the current function that comes up with the error by the book. literally. Here is the code. The Error comes up at the Add_num (N1_n,N2_n).


Code:
#include<iostream>
#include<cmath>
#include<math.h>
#include"Formulas.h"
double SQRT_NORM (double a);

using namespace std;

int main ()

{
   bool again = false;
   do
   {
   double N1, N2, N1_n, N2_n, Newz, Add_num, USR_SQRT;
   char choice;


   cout<<"Enter a first of two positive numbers:"<<endl;
   cin>>N1;
   N1=N1_n;
   cout<<"Enter the second number of two positive numbers:"<<endl;
   cin>>N2;
   N2=N2_n;
   

 [B]  Add_num (N1_n,N2_n);[/B] HERE IS WHERE THE ERROR IS REPORTED
  
   SQRT_NORM (Newz);

   cout<<"The Magnitude of the complex number is:"<<endl;
   

   cout<< "\n Would you like to run the program again?";
   cin>> choice;


   if (choice == 'y')
	{
		again = true;
		system ("cls");
	}
	else
		again = false;
	} while (again);
	return 0;

}

//Below are the formulas used in this lab

double Add_num (double a, double b)
{
	double Add_num;
	Add_num = a+b;
	return Add_num;
}

double SQRT_NORM (double a)

{
	double SQRT_NORM;
	SQRT_NORM = sqrt (a);
	return SQRT_NORM;
}
Please note how I embedded in code blocks. You can do this manually or use the handy code block icon that is just above the window in which you type a post.

Several problems here:
(1) You declared Add_num as a variable, not a function. This is the cause of the immediate problem.

(2) Even if you had declared Add_num correctly, your use of the function would accomplish *nothing*. The results are not being assigned to anything.

(3) The same goes for the use of SQRT_NORM.

(4) Nothing of interest is output.

(5) Using the same name of a function and the name of a variable inside the function is a very bad idea.

(6) Using ALL_CAPS for a function name is, in most places, strongly discouraged or even forbidden.
 
  • #5
Borg is right. You are attempting to assign an left-hand-value to an right-hand-value.

The assignment goes the other way.

Use N1_n = N1;
and N2_n = N2;
 
  • #6
I could really use some help by seeing this done properly. I will then be able to match some verbage up too. I found the lack of prototype as soon as I posted. How do I make this a function, and not a variable? Please bear with the lack of understanding.
 
  • #7
This should work, more or less

Code:
#include<iostream>
#include<cmath>

using namespace std;

double SQRT_NORM (double a);
double Add_num (double a, double b);

int main ()
{
   bool again = false;
   do
   {
   double N1, N2;
   char choice;   cout<<"Enter a first of two positive numbers:"<<endl;
   cin>>N1;
   cout<<"Enter the second number of two positive numbers:"<<endl;
   cin>>N2;
   

   double sum = Add_num (N1,N2);
  
   double root = SQRT_NORM (sum);

   cout<<"The sum is:"<< sum << ", its square root is: " << root << endl;
   
   cout<< "Would you like to run the program again?";
   cin>> choice;   if (choice == 'y')
	{
		again = true;
		system ("cls");
	}
	else
		again = false;
	} while (again);
	return 0;

}

//Below are the formulas used in this lab

double Add_num (double a, double b)
{
	double var;
	var = a+b;
	return var;
}

double SQRT_NORM (double a)
{
	double var;
        var= sqrt (a);
	return var;
}
 
  • #8
That is it! I figured it out on my own, but it is good to see that I didnt just tmake it work by some improper loophole. I have the whole thing finished now. The last part is to write a stub program. I have never done that before. I am assuming that I could give the user an option for a "self test"? I am assuming that I would take a value, run it through the program, reverse it, and hope that the origonal value is returned?
 

1. What is a function calling error in C++?

A function calling error in C++ occurs when there is a mistake in the way a function is called or used in a program. This can result in unexpected behavior or errors in the code.

2. What are some common causes of function calling errors in C++?

Some common causes of function calling errors in C++ include using incorrect function parameters, not properly declaring or defining a function, and using the wrong syntax for calling a function.

3. How can I debug a function calling error in my C++ code?

To debug a function calling error, you can use a debugger tool or add print statements to your code to track the flow of the program and see where the error is occurring. You can also try commenting out sections of code to isolate the error.

4. Can function calling errors be prevented in C++?

Yes, function calling errors can be prevented in C++ by carefully reviewing and testing the code before running it, using proper syntax for function calls, and ensuring that all functions are properly declared and defined.

5. What should I do if I am still unable to solve a function calling error in my C++ code?

If you are still unable to solve a function calling error, you can seek help from other programmers or consult online resources for troubleshooting tips. You can also reach out to the community for assistance on forums or social media platforms dedicated to C++ programming.

Similar threads

  • Programming and Computer Science
Replies
6
Views
8K
  • Programming and Computer Science
Replies
5
Views
2K
  • Programming and Computer Science
2
Replies
39
Views
3K
  • Programming and Computer Science
Replies
12
Views
1K
  • Programming and Computer Science
Replies
6
Views
903
  • Programming and Computer Science
Replies
11
Views
999
  • Programming and Computer Science
Replies
8
Views
2K
  • Programming and Computer Science
Replies
23
Views
2K
  • Programming and Computer Science
Replies
22
Views
2K
Replies
10
Views
952
Back
Top