../base/zAStar.h:167: error: declaration of 'const int step'
../base/zAStar.h:16: error: shadows template parm 'int step'
原代码:
virtual bool move(const int direct,const int step = step) = 0;
修改后
virtual bool move(const int direct,const int _step = step) = 0;
2.
LoadMap.cpp:16: error: 'FILE' was not declared in this scope
LoadMap.cpp:16: error: 'fp' was not declared in this scope
LoadMap.cpp:16: error: 'fopen' was not declared in this scope
LoadMap.cpp:18: error: 'fread' was not declared in this scope
LoadMap.cpp:32: error: 'fclose' was not declared in this scope
添加头文件 #include <stdio.h>
3.
QuestEvent.cpp: In member function 'void EventManager<E>::get_valid_quest_str(SceneUser&) [with E = EventTrigger2<Trigger::Visit>]':
QuestEvent.cpp:634: error: cast from 'char (*)[0]' to 'DWORD' loses precision
QuestEvent.cpp:634: error: cast from 'Cmd::stRetValidQuestUserCmd*' to 'DWORD' loses precision
QuestEvent.cpp:636: error: cast from 'char (*)[0]' to 'DWORD' loses precision
QuestEvent.cpp:636: error: cast from 'Cmd::stRetValidQuestUserCmd*' to 'DWORD' loses precision
修改前
strncpy(cmd->content, menu.str().c_str(), sizeof(buf)-(DWORD)((DWORD)(&(cmd->content))-(DWORD)cmd));
修改后
strncpy(cmd->content, menu.str().c_str(), sizeof(buf)-sizeof(Cmd::stRetValidQuestUserCmd)-1);
4.
解决GCC升级后的编译错误
在将GCC从4.1.2升级到4.4.7后,遇到了多个编译错误。首先,修复了模板参数阴影问题,将'const int step'更改为'const int _step'。其次,由于<stdio.h>未被包含,导致'FILE','fp','fopen','fread'和'fclose'未声明。添加#include <stdio.h>解决了这个问题。最后,在QuestEvent.cpp中,修正了精度丢失的类型转换错误,用新的表达式替换原来的strncpy参数。这些修改解决了升级GCC后出现的编译冲突。
2052

被折叠的 条评论
为什么被折叠?



