![]() |
От: | warobushek | |
Дата: | 24.08.08 05:46 | ||
Оценка: |
10.5 Я моделирую Марковский процесс с конечным числом состояний, и у меня
есть набор функций для каждого состояния. Я хочу, чтобы смена
состояний происходила путем возврата функцией указателя на функцию,
соответветствующую следующему состоянию. Однако, я обнаружил
ограничение в механизме деклараций языка С: нет возможности объявить
функцию, возвращающую указатель на функцию, возвращающую указатель
на функцию, возвращающую указатель на функцию...
О: Да, непосредственно это сделать нельзя. Пусть функция возвращает
обобщенный указатель на функцию, к которому перед вызовом функции
будет применен оператор приведения типа, или пусть она возвращает
структуру, содержащую только указатель на функцию, возвращающую
эту структуру.