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 ()

	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;
		height2 = height; 

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

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

		if ((height == 0) || (weight == 0) || (age == 0)) 
			cout<<"Do not enter '0' as a value."<<endl;
			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);

	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;

		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.

This article has been dead for over six months. Start a new discussion instead.