Я пытаюсь зарегистрировать функцию, которая возвращает int
для вызова в конце программы с помощью функции atexit()
. (В частности, функция endwin()
из ncurses.)
Но так как atexit()
нужен указатель на функцию void
, я столкнулся с проблемой. Я попробовал следующее:
static_cast<void (*)()>(endwin)
но static_cast
от функции int
до функции void
, похоже, не разрешено.
Я пытаюсь сделать все возможное, и если да, то как?
Примечание. Я хочу просто игнорировать возвращаемое значение функции.
Изменить: Я также попытался создать функцию лямбда, которая, кажется, делает то, что я хочу:
atexit([]{ endwin(); });
Это хорошее решение по сравнению с функцией обертки/пересылки? (Кроме того, он нуждается в С++ 11 и избегает определения новой функции, единственной целью которой является просто пересылка другой функции.)