1

Тема: Допоможіть. Ніби то все прозоро, але десь щось не те.

Компілюю код з книжки

#include <stdio.h>
int MinMax ( int a, int b, int &Max )
{
    if ( a > b ) { Max = a; return b; }
    else { Max = b; return a; }
}
 
main()
{
    int N, M, min, max;
    printf ( "\nВведіть 2 цілі числа ");
    scanf ( "%d%d", &N, &M );
    min = MinMax ( N, M, max ); 
    printf ( "Найменше з них %d, найбільше - %d\n", min, max );
    getchar();
}

Компілятор звітує про помилку

tst.c: In function ‘main’:
tst.c:12:7: warning: implicit declaration of function ‘MinMax’ [-Wimplicit-function-declaration]
min = MinMax ( N, M, max ); // виклик функції
^~~~~~

Чого я не добачаю?
Спасибі.

2

Re: Допоможіть. Ніби то все прозоро, але десь щось не те.

Телепатично вбачаю, що ви компілюєте цей код як C, а це - C++.

3

Re: Допоможіть. Ніби то все прозоро, але десь щось не те.

Дякую.
Хоча книжка пише лише С.

4

Re: Допоможіть. Ніби то все прозоро, але десь щось не те.

Знайдіть іншу книжку, в C немає посилань (int &Max), лише вказівники.
Ну і назвали б книжку, щоб і інші знали, що читати не варто.

Подякували: leofun01, uaLoper2

5

Re: Допоможіть. Ніби то все прозоро, але десь щось не те.

MVV написав:
код з книжки

Компілюю код з книжки

#include <stdio.h>
int MinMax ( int a, int b, int &Max )
{
if ( a > b ) { Max = a; return b; }
else { Max = b; return a; }
}
 
main()
{
int N, M, min, max;
printf ( "\nВведите 2 целых числа ");
scanf ( "%d%d", &N, &M );
min = MinMax ( N, M, max ); 
printf ( "Наименшее з них %d, наибольшее - %d\n", min, max );
getchar();
}

Компілятор звітує про помилку

tst.c: In function ‘main’:
tst.c:12:7: warning: implicit declaration of function ‘MinMax’ [-Wimplicit-function-declaration]
min = MinMax ( N, M, max ); // вызов функции
^~~~~~

Хочете сказати, що в книжці отакі відступи (їх відсутність) і російська в стрічках ?
https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRlFO_DuaFylF7xKmgfCWJqzWTzbFuabA05L8Xza4vlqLGkDvY4uCtoxFA