我正在学习C++的反应,我正在寻找一些指导。我创建了一个函数来等待一个事件然后返回它。我想捕获所有发生的反应性异步事件,并在他们来临时处理它们。这是我到目前为止有:从功能连续的RXcpp流数据
int Engine::Initialize()
{
al_init();
display = al_create_display(1200, 800);
eventQueue = al_create_event_queue();
al_install_mouse();
al_install_keyboard();
al_register_event_source(eventQueue, al_get_keyboard_event_source());
al_register_event_source(eventQueue, al_get_mouse_event_source());
//test: wait for 2 events to happen
auto events = rxcpp::observable<>::create([](rxcpp::subscriber<ALLEGRO_EVENT> e)
{
e.on_next(WaitForEvent);
e.on_next(WaitForEvent);
e.on_completed();
});
events.subscribe([](ALLEGRO_EVENT e)
{
printf("We have an Event: %d \n", e.type);
},
[]()
{
printf("Done\n");
});
return 0;
}
ALLEGRO_EVENT Engine::WaitForEvent()
{
ALLEGRO_EVENT event;
al_wait_for_event(eventQueue, &event);
return event;
}
我似乎得到错误:没有函数模板实例“rxcpp ::观察到:创建”参数列表匹配。我是否需要制作自己的模板或能够观察ALLEGRO_EVENT?
现在我得到这个错误:没有函数模板实例“rxcpp ::观察到: :创建“匹配参数列表 –
shady
其奇怪,因为当我从文档中粘贴示例它说的是相同的东西 – shady
嗯。这很奇怪。这可能是一个错误。不幸的是,我没有任何使用这个库的经验。我会推荐在他们的[讨论论坛]上发帖(http://rxcpp.codeplex.com/discussions)。 – Tim