我想为以 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 的一种解决方法是使用结构:
template<typename T>
struct TouchCallBack {
typedef void (*type)(GLRenderer*, const MotionEvent&, std::vector<T >);
};
//use like TouchCallBack<int>::type