В каком случае можно применить следующее:

Тема в разделе "C и С++ FAQ", создана пользователем Yalud, 19 янв 2007.

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

    Yalud Гость

    Я исследовал код одной программы написанной на языке C.
    В замешательство меня привела следующая инструкция.

    Variable = Function ;

    При этом Function определена ранее как:

    TIP Function(TIP1 arg1, TIP2 arg2);

    Вопрос в следующем: как должна быть определена переменная Variable, чтобы выражение
    Variavle=Function; имело смысл и принималось компилятором?
     
  2. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    TIP Variable

    Хотя лучше бы ты говорил о конкретных вещах.
     
  3. Yalud

    Yalud Гость

    Кажется сам разобрался. Всем спасибо! Кому интересно ответ такой:

    #define TIP void
    #define TIP1 int
    #define TIP2 int


    TIP function(TIP1 arg1, TIP2 arg2)
    {
    return ;
    }

    int main( int argc, char * argv[] )
    {

    TIP (*Variable)(TIP1,TIP2); //Это и есть ответ!

    Variable=function;
    return 0;
    }

    Переменная Variable в этом случае называется указателем на функцию и содержит адрес.
     
  4. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    <!--QuoteBegin-European+19:01:2007, 11:07 -->
    <span class="vbquote">(European @ 19:01:2007, 11:07 )</span><!--QuoteEBegin-->TIP Variable
    [snapback]53674" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Я сразу и не понял, что ты хочешь узнать про указатели на функцию. Постановка вопроса мне показалась очень странной
     
Загрузка...
Статус темы:
Закрыта.

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