ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
27 июня
1497637 Топик полностью
SciFi (11.02.2025 14:49, просмотров: 106) ответил il-2 на Вариант. Но проще/красивее написать return. Я уже сделал через возврат типа void *, а вообще этот пост написал, чтобы вы все тут тоже мозги поразмяли :-)
Если ставить задачу "ни в коем случае не приводить тип", то мой вариант даёт решение. Кстати, при помощи C99 compound literals можно ещё ближе подойти к совершенству: 
struct s
{
    struct s (*f)(int);
};
struct s func1(int arg) { struct s func2(int); return (struct s){func2}; }
void worker(void) { struct s fptr = { func1 }; fptr = (fptr.f)(123); }
ส็็็็็็็็็็็็็็็็็็็็็็็็็༼ ຈل͜ຈ༽ส้้้้้้้้้้้้้้้้้้้้้้้