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