【发布时间】:2011-10-08 18:28:01
【问题描述】:
我在模板类(一个简单的 FIFO 队列)中有以下方法,在 GDB 调试时,我发现将指针“previous”重新分配给“current”的语句似乎什么也没做。 执行此语句时,previous 以 NULL 开头,current 不为 NULL,但 previous 仍为 NULL。 有没有人见过这样的东西?
inline int search(QueueEntry<T> *current,QueueEntry<T> *previous, unsigned long long t)
{
while(current && !(current->getItem()->equals(t)))
{
previous = current; //**this line doesn't seem to work**
current = current->getNext();
}
if(current)
return 1;
return 0;
}
【问题讨论】:
-
“这条线似乎不起作用”是什么意思?是什么行为让你这么想?
-
在您的示例中,previous 的值从未使用过,所以编译器可能只是忽略了赋值?
标签: c++ pointers variable-assignment