2012-10-26 76 views
-2

如何將提取操作符指定給鏈接列表類。重載流提取操作符錯誤

struct Node{ 
    int x; 
    Node *next; 
    }*p; 

,這裏是我的功能

istream& operator>>(std::istream &is, list &l){ 
    is>>l; 
    return is; 
} 

,這是不行的,它給了我一個分割錯誤 計劃接收信號EXC_BAD_ACCESS,無法訪問內存。 原因:KERN_PROTECTION_FAILURE地址:0x00007fff5f3ffff8 0x000000010000127b在操作>>()

+2

我希望堆棧溢出。你正在遞歸地調用函數。您可以決定它的功能(例如,輸入逗號分隔值列表並將它們解析爲新列表)。 – chris

+0

如果不知道「list」是什麼,這是無法回答的。 –

回答

3

你的代碼會導致無限遞歸。基本上說,從std::istream中提取list是通過從std::istream中提取list來完成的。