当我尝试调用OnLoop时,我收到错误,它无法识别它。
/// Ins_App.h
#ifndef INS_APP_H
#define INS_APP_H
#include <SDL/SDL.h>
class Ins_App
{
private:
/* Variables */
bool Running;
SDL_Surface* Surf_Display;
public:
/* inMain */
Ins_App();
int OnExecute();
public:
/* Other */
bool OnInit();
void OnEvent(SDL_Event* Event);
void OnLoop();
void OnRender();
void OnCleanup();
protected:
};
#endif // INS_APP_H
/// Ins_App.cpp
#include "Ins_App.h"
Ins_App::Ins_App()
{
Running = true;
Surf_Display = NULL;
}
int Ins_App::OnExecute(){
if(OnInit() == false){
return -1;
}
SDL_Event Event;
while(Running){
while(SDL_PollEvent(&Event)){
OnEvent(&Event);
}
OnLoop();
OnRender();
}
return 0;
}
int main(int argc, char* argv[]){
Ins_App iApp;
return iApp.OnExecute();
}
/// OnLoop.cpp
#include "Ins_App.h"
void OnLoop(){
}
这是错误:
OBJ \调试\ SRC \ Ins_App.o:C:\用户\铝\文件\宏 \ src \ Ins_App.cpp | 19 |未定义引用`Ins_App :: OnLoop()'|
我做错了什么?
答案 0 :(得分:9)
您没有定义您的会员:
void OnLoop(){
}
应该是
void Ins_App::OnLoop(){
}
你基本上只是定义一个名为OnLoop
的免费功能,而不是你的会员。