Stlコンテナを引数として、このコンテナの型が不明な関数ポインタのtypedefを作成したいと思います。このようなもの:
typedef void (* TouchCallBack)(GLRenderer*, const MotionEvent&, std::vector<T >);
それが可能だ? (特にc ++ 03で)
私はそのようなC++ 03ソリューションをまったく知りません、そしてそれは言語に組み込まれていません、しかしC++ 11では、これはusing
エイリアスで可能です:
template<typename T>
using TouchCallBack = void (*)(GLRenderer*, const MotionEvent&, std::vector<T >);
C++ 03の回避策の1つは、構造体を使用することです。
template<typename T>
struct TouchCallBack {
typedef void (*type)(GLRenderer*, const MotionEvent&, std::vector<T >);
};
//use like TouchCallBack<int>::type