Для початку спробую прочитати ось другий рядок, тобто p - це покажчик на функцію повертає значення типу void. Чому я прочитав так і зокрема "типу void", тому що використовував методику звідси. Але а за якими правилами це все відбувається?
Я приблизно розумію це як.
заданий 19 Лютого '13 в 12:38
Наприклад: (працює і в Сі і в С ++)
Транслюємо і запускаємо
Можливо це (не зовсім коректне рішення) виявиться корисним.
До речі, хто-небудь може напише дійсно правильний (бажано збирається і працює) варіант для С і С ++.
Є інші методи, наприклад в алгол-60 був метод передачі параметрів "по імені". У більшості випадків виконував ті ж завдання, що і метод передачі параметрів "за посиланням", але мав деякі додаткові можливості (зараз в деяких мовах є подібні речі - параметри-блоки коду, на кшталт Obj-c, perl і ін.). Реалізація - thunk'і.
Сигнатура тут ні причому. Вона служить тільки для перевірки правильності і добавки деяких привидів типу за замовчуванням.
відповідь дан 20 Лютого '13 о 18:16
@alexlz, точно. Думаю ця відповідь буде корисним багатьом для правильного опису функцій, які повертають функції. Я це правило можу сформулювати так: опис самої функції, її ім'я і параметри укладаємо в дужки і замість типу пишемо зірочку (або кілька, в залежності від рівня непрямого), тип результату повертається функції пишемо перед дужками, а її аргументи описуємо після дужок. Відповідно, для прототипу на початку пишемо, наприклад, extern і завершуємо такий опис ';'. а якщо пишемо саму функцію, то закінчуємо її тілом в. - avp 21 Лютого '13 о 17:25