Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 包含指向另一个对象的指针的对象向量C++;_C++_Pointers_Search_Vector - Fatal编程技术网

C++ 包含指向另一个对象的指针的对象向量C++;

C++ 包含指向另一个对象的指针的对象向量C++;,c++,pointers,search,vector,C++,Pointers,Search,Vector,我有一个指向相同类型父节点的指针的类state\t class state_t{ public : int pos_bus, cost; map<int, vector<int>> kids_waiting; vector<int> kids_bus; state_t* parent; int g, f; state_t(int _pos_bus, ve

我有一个指向相同类型父节点的指针的类state\t

class state_t{
    public : 
        int pos_bus, cost;
        map<int, vector<int>> kids_waiting;
        vector<int> kids_bus;
        state_t* parent;
        int g, f;

        state_t(int _pos_bus, vector<int> _kids_bus, map<int, vector<int>> _kids_waiting) {
            pos_bus = _pos_bus;
            kids_bus = _kids_bus;
            kids_waiting = _kids_waiting;
            g = 0;
            f = 0;
        };

        state_t() {};
        state_t(state_t *parent_){
            parent = parent_;
            pos_bus = parent_->pos_bus;
            kids_bus = parent_->kids_bus;
            kids_waiting = parent_->kids_waiting;
            f = parent_->f;
            g = parent_->g;
        };
在第一个示例中,我得到了期望值:

CHILD NODE: <1, <  >, [2]: < 3 4 >  >
f: 0g: 8
PARENT NODE: <0, <  >, [2]: < 3 4 >  >
子节点:,[2]:<34>
f:0g:8
父节点:,[2]:<3 4>>
在中,第二个父项与子项相同:

CHILD NODE: <0, <  >,  >
f: 0g: 92
PARENT NODE: <0, <  >,  >
f: 0g: 92
子节点:,>
f:0g:92
父节点:,>
f:0g:92

您的第一个和第二个构造函数根本没有初始化父指针,因此其值是不确定的。这些构造函数应该将
parent
设置为
NULL
/
nullptr
,然后在调用
parent->print()之前需要检查
NULL
/
nullptr
您应该在Gdb中运行它,并查看在for循环中发生了什么。您可以使用
监视当前值
跟踪当前值的变化
CHILD NODE: <0, <  >,  >
f: 0g: 92
PARENT NODE: <0, <  >,  >
f: 0g: 92