Пару дней назад я сгенерировал хеш-функцию с помощью gperf
. То, что я увидел для хэш-функции
, было мне чуждо. Это было примерно так (я не помню точный синтаксис):
unsigned int
hash(str, size)
register char* str;
register unsigned int size;
{
//Definition
}
Теперь, когда я пытался скомпилировать компилятор C ++ (g ++), он выдал мне ошибку из-за отсутствия str
и размер
объявлен. Но это скомпилировано на компиляторе C (gcc). Итак, вопросы:
str
и size
не объявлены при первом появлении. str
и size
после сигнатуры функции, но перед телом функции, а не в соответствии с обычным подходом, когда это делается в любом из двух мест?