gpt4 book ai didi

c++ - 如何定义具有模板参数的函数指针的typedef

转载 作者:IT老高 更新时间:2023-10-28 22:17:55 26 4
gpt4 key购买 nike

我想为以 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

关于c++ - 如何定义具有模板参数的函数指针的typedef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14848924/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com