收到未初始化局部变量的警告

receiving warning of uninitialized local variable

本文关键字:警告 局部变量 初始化      更新时间:2023-10-16

我正在编写一个程序,并试图重载到<lt;操作人员当我调试代码时,我收到一个错误,说p没有初始化。我觉得我好像在初始化for语句中的p,但我想我不是。似乎不知道如何初始化p。这是我收到错误消息的代码。有什么建议吗?

ostream &operator <<( ostream &out, const LList & llist )
{
for( LList *p = p; p != 0; p = p -> next )
    out << p;
return out;
}

您正在用p本身初始化p,它什么也不做,也许您的意思是将它指向传递给函数的llist参数?

也许是这样的?

for( const LList *p = &llist; p != 0; p = p -> next )
 ostream &operator <<( ostream &out, const LList & llist )
 {
      for(const LList *p = llist ; p != 0; p = p -> next )
           out << p;
      return out;
 }

首先,您应该使用const而不是非常数,其次,您需要将p分配给您发送的变量。

希望这能有所帮助,祝你度过美好的一天:)