diff --git a/Fsm.cpp b/Fsm.cpp index 9b932ca..4496cc6 100644 --- a/Fsm.cpp +++ b/Fsm.cpp @@ -26,8 +26,9 @@ State::State(void (*on_enter)(), void (*on_state)(), void (*on_exit)()) Fsm::Fsm(State* initial_state) : m_current_state(initial_state), - m_transitions(NULL), + m_transitions(nullptr), m_num_transitions(0), + m_timed_transitions(nullptr), m_num_timed_transitions(0), m_initialized(false) { diff --git a/Fsm.h b/Fsm.h index afbb3dd..aa3c455 100644 --- a/Fsm.h +++ b/Fsm.h @@ -26,7 +26,7 @@ struct State { - State(void (*on_enter)(), void (*on_state)(), void (*on_exit)()); + State(void (*on_enter)(), void (*on_state)() = nullptr, void (*on_exit)() = nullptr); void (*on_enter)(); void (*on_state)(); void (*on_exit)(); @@ -40,10 +40,10 @@ class Fsm ~Fsm(); void add_transition(State* state_from, State* state_to, int event, - void (*on_transition)()); + void (*on_transition)() = nullptr); void add_timed_transition(State* state_from, State* state_to, - unsigned long interval, void (*on_transition)()); + unsigned long interval, void (*on_transition)() = nullptr); void check_timed_transitions();