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

Тема в разделе "Общие вопросы по С и С++", создана пользователем Nikson, 2 июн 2006.

Статус темы:
Закрыта.
  1. Nikson

    Nikson Гость

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

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

    Froex Гость

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

    Nikson Гость

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

    Froex Гость

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

    62316e Гость

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

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

    int main()
    {
    f();
    }
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей