我正在學習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