我已经很久不用C++了,对它不是很友好。我正在恢复我的一个旧项目并尝试编译它,但我在启动 Makefile 时收到以下错误输出:
g++ -W -ggdb3 -Wall -ansi -pedantic -c main.cpp
In file included from Entity3d.h:4,
from SceneManager.h:10,
from main.cpp:5:
Entity.h:82: warning: unused parameter ‘rot’
Entity.h:82: warning: unused parameter ‘delta’
Entity.h:82: warning: unused parameter ‘scale’
In file included from SceneManager.h:20,
from main.cpp:5:
GamePlayer.h:52: error: redefinition of ‘Vector3d delta’
GamePlayer.h:52: error: ‘Vector3d delta’ previously declared here
main.cpp:7: warning: second argument of ‘int main(int, char*)’ should be ‘char **’
make: *** [main.o] Error 1
GamePlayer.h:52 在哪里:
void Behavior(Vector3d rot, Vector3d delta, Vector3d delta);
行为覆盖其父类 (Entity.h) 的函数:
virtual void Behavior(Vector3d rot, Vector3d delta, Vector3d scale) {};
类的层次结构如下:
class GamePlayer : public Entity3d
class Entity3d : public Entity
我检查了包含守卫,它似乎是正确的。
谁能给我指明正确的方向?
最佳答案
您为两个参数使用了相同的名称:
... Vector3d delta, Vector3d delta);
关于c++ 编译错误 "redefinition of",需要帮助才能找到它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7377772/