c++ - 试图将节点插入 vector <node> 但程序在 push_back 时不断崩溃

标签 c++ co

所以我将一堆字符串输入到链表中。我倾向于尝试将这些节点输入到 vector 中。 但是每当我尝试 push_back 时程序总是崩溃。这是我的代码。我有两个类,节点和堆。

heap h;
    vector<Node> *vstring;

在尝试了 Dennis 解决方案后,我能够解决问题。但是我有另一个问题。测试内容是否真的在vector中

for(int i = 0; i < size; i++)
{
     cout << "content is " << h[i] << endl;
}

我收到以下错误。 错误:“operator<<”不匹配(操作数类型为“std::ostream {aka std::basic_ostream}”和“std::vector”) cout << *h << endl; ^ 在节点类中,我确实重载了 << 运算符。

ostream& operator<<(ostream& out, const Node &n)
{
    cout << "in operator " << endl;
    out<<n.data;
    return out;
}

最佳答案

vector<Node> *vstring; 

未初始化。 尝试

vector<Node> *vstring = new vector<Node>();

关于c++ - 试图将节点插入 vector <node> 但程序在 push_back 时不断崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26733344/

相关文章:

c++ - 从其他线程关闭对话框后无法从主窗口聚焦

c++ - 通过引用的函数指针数组

javascript - TypeScript async/await 与 JS tj/co

node.js - Bluebird 而不是 Koa 中的 Co?

javascript - 为什么 thunkify/yield 总是返回一个数组?

c++ - 我的汇编函数推送数据两次

c++ - 解析/etc/network/interfaces

c++ - 以下代码中嵌入的 "new"是否会导致内存泄漏?

javascript - 为什么 node.js 生成器没有按预期工作?