baseFSM里changeToDefault()的判断里加上&&role->roleState != RoleState_Free ,这样能释放掉。不然在执行释放方法之前状态又被从free变成default了。当然别的问题还有。老师的代码也不一定严谨,还是自己慢慢改吧
这个是逻辑没有处理好