结构如下所示:
template <class Node_entry>
Node<Node_entry>::Node(Node_entry item, Node *add_on)
{
entry = item;
next = add_on;
}
* new_rear指针未初始化,但&amp; item填充了用户输入。
Error_code Extended_queue::append(const Queue_entry &item) {
Node<Queue_entry> *new_rear = new Node<Queue_entry>(item);
if(new_rear = 0)
return overflow;
if(rear = 0){
front = new_rear;
rear = new_rear;
}
else {
rear->next = new_rear;
rear = new_rear;
}
return success;
}
在VS2010的本地人中,这个和new_rear都是(!)在下一个和条目中,项目是好的。我该怎么做才能得到这个?
“访问冲突写入位置0x00000010。”
答案 0 :(得分:6)
我假设你想说if (new_rear == 0)
,而不是if (new_rear = 0)
?你的编译器应该给你一个警告。
顺便说一下,这就是为什么我总是使用最高警告级别进行编译,并将警告视为错误。警告是你的朋友。