调用在单独的命名空间中声明的对象函数时,指针箭头操作符失败

时间:2014-10-25 13:51:56

标签: c++ pointers namespaces

我正在研究一个游戏的基本框架,其中一个向量用于存储对象。想法是通过向量来处理,通过一次检查事件条件,一次更新对象,再次重置对象以便下一次使用。

我的问题是,我无法找出解决方案或解决方法来解决我的实施引起的错误。错误是:

"未定义对' 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

0 个答案:

没有答案