代码之家  ›  专栏  ›  技术社区  ›  GoDucks713

错误C2065:“帧”:未声明的标识符

  •  1
  • GoDucks713  · 技术社区  · 9 年前

    因此,我正在使用C++和visual studio编写一本游戏编程入门书,我遇到了一个明显的全局变量框架问题,并且没有声明starttime。

    这是标题

    void Sprite_Animate(int &frame, int startframe, int endframe, int direction, int &starttime, int delay);
    

    以下是定义函数的cpp文件

    //Animates a sprite
    void Sprite_Animate(int &frame, int startframe, int endframe, int direction, int &starttime, int delay)
    {
        if ((int)GetTickCount() > starttime + delay)
        {
            starttime = GetTickCount();
    
            frame += direction;
            if (frame > endframe) frame = startframe;
            if (frame < startframe) frame = endframe;
        }
    }
    

    和另一个cpp文件,在那里我得到了错误

    //animate and draw the sprite
    Sprite_Animate(frame, 0, 24, 1, starttime, 30);
    

    我在错误输出中看到了这一点:

    Error   1   error C2065: 'frame' : undeclared identifier    c:\users\foster\documents\visual studio 2013\projects\animate sprite demo\animate sprite demo\mygame.cpp    50  1   Animate Sprite Demo
    Error   2   error C2065: 'starttime' : undeclared identifier    c:\users\foster\documents\visual studio 2013\projects\animate sprite demo\animate sprite demo\mygame.cpp    50  1   Animate Sprite Demo
    Error   3   error C2065: 'frame' : undeclared identifier    c:\users\foster\documents\visual studio 2013\projects\animate sprite demo\animate sprite demo\mygame.cpp    51  1   Animate Sprite Demo
    

    如果你需要更多信息,请告诉我。

    1 回复  |  直到 9 年前
        1
  •  1
  •   songyuanyao    9 年前

    您需要首先声明变量:

    int frame;
    int starttime;
    
    //animate and draw the sprite
    Sprite_Animate(frame, 0, 24, 1, starttime, 30);