arg) { switch (event_type) { case GAME_START: { // t o auto& a = std::any_cast<GameStartArg&>(arg); } break; default: break; } } int main() { // t ay std::vector<std::function<void (int, std::any&)>> func; // func.push_back(EventProc); // : t v r auto arg = std::make_any<GameStartArg>(GameStartArg{ -1, 0.5f }); for (auto& f : func) {
// t ay std::vector<std::function<void (int, Arguments&)>> func; // func.push_back(EventProc); // : t v r auto arg = Arguments{ { "a", -1 }, // int { "b", 0.5 }, // double }; for (auto& f : func) { f(GAME_START, arg); } }