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

时间:2013-02-20 22:10:18

标签: c++

我正在编写程序,我正在尝试重载到<<运营商。当我调试我的代码时,我收到一个错误,说p未初始化。我觉得好像我在for语句中初始化p,但我想我不是。似乎无法弄清楚我将如何初始化p。这是我收到错误消息的代码。任何建议?

ostream &operator <<( ostream &out, const LList & llist )
{

for( LList *p = p; p != 0; p = p -> next )
    out << p;

return out;
}

2 个答案:

答案 0 :(得分:6)

你正在用自己初始化p什么都没做,也许你的意思是把它指向传递给函数的llist参数?

也许是这样的?

for( const LList *p = &llist; p != 0; p = p -> next )

答案 1 :(得分:0)

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

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

希望这会有所帮助,祝你有个美好的一天:)