我正在研究一个游戏的基本框架,其中一个向量用于存储对象。想法是通过向量来处理,通过一次检查事件条件,一次更新对象,再次重置对象以便下一次使用。
我的问题是,我无法找出解决方案或解决方法来解决我的实施引起的错误。错误是:
"未定义对' g_objs :: obj_event :: obj_check_events()'的引用"
#ifndef IOSTREAM_H
#define IOSTREAM_H
#include<iostream>
#endif // IOSTREAM_H
#ifndef VECTOR_H
#define VECTOR_H
#include<vector>
#endif // VECTOR_H
#ifndef OBJECTS_H
#define OBJECTS_H
#include"objects.h"
#endif // OBJECTS_H
void game_check_events( std::vector<g_objs::obj_event> &check_vector ){
g_objs::obj_event *p_object = NULL;
for( int i = 0; i < check_vector.capacity(); i++ ){
p_object = &check_vector[i];
//Here is the error: I would like to put:
//p_object->obj_check_events();
//But this raises an error-- one that seemingly cannot be fixed
std::cout<<i<<"\n";
};
};
我觉得解决方案会非常明显,但它会继续让我失望。
编辑:这是&#34; objects.h&#34;头。正如你所看到的,它是非常简单的骨头。
#ifndef VECTOR_H
#define VECTOR_H
#include<vector>
#endif // VECTOR_H
#ifndef GAME_H
#define GAME_H
#include"game.h"
#endif // GAME_H
namespace g_objs{
class obj_event{
obj_event();
public:
void obj_check_events();
void obj_perform_events();
void obj_set_events();
private:
};
class object_physics{
public:
void obj_update_physics();
private:
};
};//end of namespace