Указатели на функцию 2

  • Автор темы Nikson
  • Дата начала
Статус
Закрыто для дальнейших ответов.
N

Nikson

Гость
#1
Есть вот такая функция
int(*(*f())(int[]))
Что она означает, как читается и какие значения возвращает

И ещё одна такая int(*(*f())(int[]))[]
Зарание спасибо
 
F

Froex

Гость
#2
А тута именно "*" стоят или что-то ещё? А вместо "*" могут ставиться функции? У меня мозги кипят. Это может читаться как угодно :D . А "f" скорее всего тоже функция, так как с void-аргументами :) . "int[]" скорее всего массив целочисленный данных. А если подумать,то это может быть не функция вовсе? Может это приведение у типу int ;) ?(синтаксис: НовыйТип(АргументДляПриведения); ) Хм...Так оно наверное и есть :D . Значит выражение "*(*f())(int[])" осталось продумать... далее не знаю че делать. Подумай над моими размышлениями.
 
N

Nikson

Гость
#3
Значится на свой вопрос я нашёл такой ответ int(*(*f())(int[])) : указатель на функцию, которая принимает значение void и возвращает масив указателей на функции, которые принимают значения int и возвращают значения int .
 
F

Froex

Гость
#4
Извини, ступил я. Всю ночь меня грызла баба Раля. "*" значит указатель или разыменование(lol). А ответ по-моему такой. Впрочем я не очень разбираюсь в указателях, но думаю, что тута именно то, что я писал до этого(кроме "*", вспомнив бабу Ралю).
 
6

62316e

Гость
#5
(Dark Funeral - 1998 - Vobiscum Satanas - Enriched By Evil.mp3 вам в помощь)
Код:
int * foo(int[] )
{
return 0;
}

int( *( *f() ) ( int[]) )
{
return foo;
}

int main()
{
f();
}
 
Статус
Закрыто для дальнейших ответов.