小编Dvx*_*Dvx的帖子

实现Node类时出现问题

有人可以告诉我以下代码有什么问题吗?我正在尝试使用类Node实现一个图,该类包含节点id和指向其邻居的指针向量.这是我的代码的简短版本:

#include<vector>
#include<iostream>

using namespace std;


class N {
public:
    int i;
    vector<N*> v;
    N(int i) {
        this->i = i;
    };
};

int init(N* n1) {
    N n2(2);
    cout << "pointer " << &n2 << endl;
    n1->v.push_back(&n2);
};

int main() {
    N n1(1);
    init(&n1);
    cout << n1.i << endl;
    cout << "pointer " << n1.v[0] << endl;
    cout << n1.v.at(0)->i << endl;
    return 0;
};
Run Code Online (Sandbox Code Playgroud)

问题是在调用init函数之后,似乎节点n2不再存在.

谢谢你的帮助.

c++ constructor pointers

1
推荐指数
1
解决办法
63
查看次数

标签 统计

c++ ×1

constructor ×1

pointers ×1