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

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进行模板化。我能做什么?谢谢

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

最佳答案

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


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

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

10-11 00:51