Опечатка в 7-ом издании книги Дейтелов "Как программировать на C"?

На странице 297 дан такой прототип функции:

void bubble( int work[], const int size, int (*compare) ( int a, int b) );

а на странице 300 написано, что функция bubble может иметь такой прототип:

int (*) (int, int )

Как одно превратилось в другое, и не закралась ли опечатка?


Ответы (1 шт):

Автор решения: Harry

В оригинале прототип сортировки - как у вас:

 void bubble( int work[], size_t size,  int  (*compare)(int a, int b));

Но далее говорится

The function prototype for bubble is shown in line 7. The third parameter in the pro totype could have been written as int (*)(int,int); without the function-pointer name and parameter names.

Т.е.:

Прототип функции bubble показан в строке 7. Третий параметр в прототипе можно было бы записать как int (*)(int,int); - без имени функции-указателя и имен параметров.

Если смысл в русском издании иной - ошибка переводчика (опечатка — это когда не тот символ указан или пропущен, но когда смысл меняется — это уже не опечатка)...

Будьте добры, в следующий раз, составляя подобный вопрос, приводите фрагменты текста, потому что из вопроса непонятно, это ошибка в оригинале, в переводе или просто вы неверно поняли текст.

→ Ссылка