Стас
> я уже говорил об этом
Извиняюсь, не внимательно прочитал тему.
Можно избежать этой ситуации, и затем воспользоваться конструкцией:
class StateBase{}; template<class T> T& getState(StateID id ) { return static_cast<T>( getState( id)); } StateBase& getState( StateID id) { StateBase& state = ...;//find state return state; }
И уже провести необходимую инициализацию.
Volodar
> http://www.gamedev.ru/code/articles/finite_state_machine
Я эту тему уже почитал, ещё когда задумался о том, что дальше нужно будет игровые состояния как то реализовывать. Поверхностно прошёлся, но некоторые комментарии смутили, да и сложновато для меня показалось для простой задачи(хотя возможно и хорошо поддерживаемо и расширяемо). Мне главное сделать так, чтоб было просто и в то же время так, как делают многие(ну опыт чужих ошибок и тд, приведший к чему-то общепринятому). Может почитаю позже подробнее. Пока что пусть останется то, что уже есть.
PS: тут ещё тоже почитал "многа букаф" http://rsdn.ru/article/alg/Static_Finite_State_Machine.xml по теме конечных автоматов, но такие темы мне кажется больше для профессиональных прогеров, а я пока ещё нуп
Тема в архиве.