http://d.hatena.ne.jp/wata_d/20080328/1206661621 template class PA> struct X_get_proc_address { typedef PA result_type; PA operator()(HMODULE module, LPCSTR name) const { return reinterpret_cast(::GetProcAddress(module, name)); } }; boost::egg::implicit >::type const get_proc_address = BOOST_EGG_IMPLICIT(); こうか