所以我将一堆字符串输入到链表中。我倾向于尝试将这些节点输入到 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/