22

I would like to make typedef for function pointer which has stl container as argument and this container has unknown type. Something like this:

typedef void (* TouchCallBack)(GLRenderer*, const MotionEvent&, std::vector<T >);

it's possible? (especially in c++ 03)

strobe
  • 519
  • 2
  • 5
  • 21

1 Answers1

40

I don't know of any C++03 solution exactly like that, and it's not built into the language, but in C++11, this is possible with using aliases:

template<typename T>
using TouchCallBack = void (*)(GLRenderer*, const MotionEvent&, std::vector<T >);

One workaround for C++03 is using a struct:

template<typename T>
struct TouchCallBack {
    typedef void (*type)(GLRenderer*, const MotionEvent&, std::vector<T >);
};

//use like TouchCallBack<int>::type
chris
  • 60,560
  • 13
  • 143
  • 205