2015-07-24 2 views
1

Итак, я работаю в начальной книге программирования игр, используя C++ и визуальную студию, и у меня возникают проблемы с видимым глобальным фреймом переменной, а время начала не объявляется.ошибка C2065: 'frame': необъявленный идентификатор

Вот заголовок

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 

Если вам нужна дополнительная информация, просто дайте мне знать.

+2

вы определяли структуру и StartTime перед вызовом 'Sprite_Animate (кадр, 0, 24, 1, STARTTIME, 30);'? – user4581301

ответ

1

Вы должны объявить переменную первый:

int frame; 
int starttime; 

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

Я тупой, я пропустил это. Благодаря! – GoDucks713

Смежные вопросы