int
関数を使用してプログラムの最後に呼び出されるを返す関数を登録しようとしていatexit()
ます。(具体的には、endwin()
ncurses の関数です。)
しかし、関数atexit()
へのポインタが必要なので、問題が発生しました。void
私は次のことを試しました:
static_cast<void (*)()>(endwin)
しかし、関数から関数へのstatic_cast
ingは許可されていないようです。int
void
私が達成しようとしていることはまったく可能ですか? はいの場合、どのように?
注:関数の戻り値は無視してもかまいません。
編集:ラムダ関数も作成しようとしましたが、これは私が望むことをしているようです:
atexit([]{ endwin(); });
ラッパー/転送機能と比較して、これは良い解決策ですか? (それ以外は、C++11 を必要とし、別の関数を転送することだけを目的とする新しい関数を定義することを避けます。)