【发布时间】:2014-06-04 17:35:26
【问题描述】:
struct Tree_Node
{
typedef int node_value_type;
Tree_Node(node_value_type key) : value(key) {}
public:
node_value_type value = 0;
Tree_Node* right = nullptr;
Tree_Node* left = nullptr;
};
在将指向上述类的指针插入向量后,尝试弹出元素并取消引用它会给我在 Visual C++ 中的“访问冲突读取位置”异常。
vector<Tree_Node*> node_list(2);
Tree_Node* node1 = new Tree_Node(5);
node_list.push_back(node1);
cout << node_list.front()->value;
但是,以下工作正常:
Tree_Node* node2 = node1;
cout << node2->value << endl;
我在这里错过了什么?
请注意,我在同一范围内添加和访问矢量元素。此外,我还知道可能的内存泄漏和清理。我只是想知道为什么上面的代码不起作用
【问题讨论】: