修正编译失败并完善代码