2013-10-26 5 views
1
#include<iostream> 
using namespace std; 

bool is_different(int x, int y, int z); 
int max_of_three(int x, int y, int z); 
int greater_of_two(int x, int y); 
int min_of_three(int x, int y, int z); 
int smaller_of_two(int x, int y); 
void print_result(int min_of_three, int max_of_three); 

int main() 
{ 
    int x, y, z; 
    while(1==1) 
    { 
     cout << "Please input 3 different integers." << endl; 
     cin >> x >> y >> z; 
     if (is_different (x, y, z)) 
     {break;} 
    } 
    print_result(min_of_three, max_of_three);//error here 
} 

bool is_different (int x, int y, int z) 
{ 
    if (x!=y && x!=z && y!=z) 
    { 
     return true; 
    } 
    else 
    {return false;} 
} 

int greater_of_two (int x, int y) 
{ 
    if (x > y) 
     return x; 
    if (y > x) 
     return y; 
    return 0; 
} 


int max_of_three (int x, int y, int z) 
{ 
    return greater_of_two(greater_of_two(x, y) , z); 
} 

int smaller_of_two (int x, int y) 
{ 
    if (x < y) 
     return x; 
    if (y < x) 
     return y; 
    return 0; 
} 

int min_of_three (int x, int y, int z) 
{ 
    return smaller_of_two(smaller_of_two(x, y) , z); 
} 

void print_result (int min_of_three, int max_of_three) 
{ 
    cout << "The minimum value of the three is " << min_of_three << endl; 
    cout << "The maximum value of the three is " << max_of_three << endl; 
} 

Я пытаюсь написать программу, которая находит максимум и минимум из трех различных введенных целых чисел для присваивания, это мой первый раз, когда речь идет о функциях, и я не понимаю, что означает ошибка.ошибка C2664: 'print_result': не удается преобразовать параметр 1 из 'междунар (__cdecl *) (INT, INT, INT)' на 'Int'

ответ

2

Вы пытаетесь передать min_of_three и max_of_three, которые являются указателями на функции сигнатуры:

Int (*) (INT, INT, INT)

к print_result, который ожидает int аргументы.

Вы хотите:

print_result(min_of_three(x,y,z), max_of_three(x,y,z)); 

Функции min_of_three(x,y,z) и max_of_three(x,y,z) возврата int, которые затем используются в качестве параметров для функции print_result.

Смежные вопросы