前回のGLUT コールバック関数のテンプレート版をc_functionで書き直してみました。 ひとつの関数をラップするのに1行で済みました。 ついでに、NULL指定によるコールバックの削除にも対応しました。 以下ソース(glut.hpp) #ifndef CPP_GLUT_INCLUDE #define CPP_GLUT_INCLUDE #include <GL/glut.h> #include "c_function.hpp" namespace glut { using redshift::base::make_c_function; template <class F> inline void DisplayFunc(F f) { ::glutDisplayFunc(make_c_function<struct display_functor, void(*)()>(f)); } t