gpt4 book ai didi

c++ - 创建模板类的 std::vector ?

转载 作者:行者123 更新时间:2023-11-28 03:55:03 25 4
gpt4 key购买 nike

我目前有一个使用模板参数的类。我需要这些的数组。我怎么能这样做(没有提升)。例如:

template <typename RET, typename T>
class AguiTimedEvent {
RET (*onEvent)(T arg);
double timeStamp;
public:
RET call(T arg);
bool expired();
AguiTimedEvent();
AguiTimedEvent(RET (*Timefunc)(T arg), double timeSec);
};

我需要这样的东西:

AguiTimedEvent t<int, int>(func, 5.0);
v.push_back(t);
...
v[0].call();

我实际上并不需要返回值,但我拥有它只是为了让它更灵活。如果返回值导致问题,我可以将其限制为 void 函数,但绝对需要对 arg 进行模板化。我能做些什么?谢谢

*我需要 vector 来处理任何类型,我需要一个数组,其中数组可以调度 X Y 的事件,而不仅仅是 int int

最佳答案

std::vector<AguiTimedEvent<int, int> > v;

如果您需要存储具有不同模板参数的不同AguiTimedEvent 类型的对象,您需要创建一个基类(例如,AguiTimedEventBase)并将指针存储在 vector

关于c++ - 创建模板类的 std::vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3929398/

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