Please help i am getting an error message when i try to complie my program. It gives me this error rror C2664: 'output_calculations' : cannot convert parameter 1 from 'double (double,double)' to 'double' Context does not allow for disambiguation of overloaded function.

I have not the slightest clue what this means please help.

#include <iostream>


using namespace std;

void user_input();
double hat_size(double weight, double height);
double jacket_size(double weight, double age, double age2, double height);
double waist_size(double age, double age2, double weight); //(age, age2, weight
void output_calculations(double hat_size, double jacket_size, double waist_size);
bool restart();

						
int main ()
{
                             
	user_input();

	return 0;
}
	
	void user_input()
	{
	
		int height2, weight2, age2; 
		double height, weight, age, mhat_size, mjacket_size, mwaist_size;
			
		cout<<"What is the user's height, in inches?"<<endl;
		cin>>height; 
		height2 = height; 

		cout<<"What is the user's weight, in pounds?"<<endl;
		cin>>weight; 
		weight2 = weight; 

		cout<<"What is the user's age?"<<endl;
		cin>>age; 
		age2 = age; 

		if ((height == 0) || (weight == 0) || (age == 0)) 
			
			cout<<"Do not enter '0' as a value."<<endl;
		
		else
		{
			mhat_size = hat_size(weight, height);
			mjacket_size = jacket_size(age, age2, weight, height);
			mwaist_size = waist_size(age, age2, weight);
			output_calculations(hat_size, jacket_size, waist_size);
			restart();
		}
	
	}



	double hat_size(double weight, double height)
	{
		
		return ((weight / height) * 2.9);
	}


	
	double jacket_size(double age, int age2, double weight, double height)
	{
		
		double jacket_size, adjusted_jacket;

		if (age <= 39)

			jacket_size = ((height * weight) / 288); 


		if (age >= 40) 
		{
			adjusted_jacket = (((age2 - 30) / 10)* (1/8.00));
			jacket_size = (((height * weight) / 288) + adjusted_jacket);
		}

		return (jacket_size);
	}

	
	
	double waist_size(double age,int age2,double weight)
	{

		double waist_size, waist_adjusted;

		if (age <= 29) 
			
			waist_size = (weight / 5.7);


		if (age >= 30) 
		{	
			waist_adjusted = (((age2 - 28) / 2) * (1/10.00));
			waist_size = ((weight / 5.7) + waist_adjusted);
		}

		return (waist_size);
	}

		
	void output_calculations(double hat_size,double jacket_size,double waist_size)
	{

		
		cout<<"The person's hat size is: "<<hat_size<<"."<<endl;
		cout<<"The person's jacket size is: "<<jacket_size<<"."<<endl;
		cout<<"The person's waist size is: "<<waist_size<<"."<<endl<<endl;
	}

	
	
	bool restart()
	{
		char restart;
		
		cout<<"Do you want to run the program again? (Enter Y or N)"<<endl;
		cin>>restart;

		if ((restart=='Y') || (restart=='y'))
			return true;

		if ((restart=='N') || (restart=='n'))
			return false;
	}

<< moderator edit: added code tags: [co[u][/u]de][/co[u][/u]de] >>

Perhaps it means that you intermingle hat_size as both the name of a variable and a function and the compiler is trying to figure out which one you mean in any particular context. You tell it a couple things and expect it to know which one you mean.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.