我目前有一个使用模板参数的类。我需要这些。我该怎么做(没有提升)。
例如:
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/