c ++编译错误"重新定义",需要帮助才能找到它

Hei*_*bug 0 c++ compiler-errors include

很长一段时间我不使用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
Run Code Online (Sandbox Code Playgroud)

GamePlayer.h:52的位置是:

void Behavior(Vector3d rot, Vector3d delta, Vector3d delta);
Run Code Online (Sandbox Code Playgroud)

行为覆盖它的父类(Entity.h)的函数:

virtual void Behavior(Vector3d rot, Vector3d delta, Vector3d scale) {};
Run Code Online (Sandbox Code Playgroud)

类的层次结构如下:

class GamePlayer : public Entity3d
class Entity3d : public Entity
Run Code Online (Sandbox Code Playgroud)

我检查了包含警卫,这似乎是正确的.

谁能让我朝着正确的方向前进?

Mar*_*tos 6

您为两个参数使用了相同的名称:

... Vector3d delta, Vector3d delta);
Run Code Online (Sandbox Code Playgroud)