【问题标题】:error C2065: 'frame' : undeclared identifier错误 C2065:“框架”:未声明的标识符
【发布时间】:2015-07-24 09:49:18
【问题描述】:

所以我正在阅读一本使用 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

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

【问题讨论】:

  • 你在调用Sprite_Animate(frame, 0, 24, 1, starttime, 30);之前定义了frame和starttime吗?

标签: c++ visual-studio-2013 directx-9


【解决方案1】:

你需要先声明变量:

int frame;
int starttime;

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

【讨论】:

    猜你喜欢
    • 2011-02-15
    • 2011-04-16
    • 2011-04-16
    • 2010-12-24
    • 2023-03-04
    • 2011-03-02
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多