stl コンテナーを引数として持ち、このコンテナーの型が不明な関数ポインターの typedef を作成したいと思います。このようなもの:
typedef void (* TouchCallBack)(GLRenderer*, const MotionEvent&, std::vector<T >);
それが可能だ?(特に C++ 03)
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