2013-05-05 52 views
1

我在頭文件中聲明瞭一個結構,您可以在下面看到它。結構對於.cpp不可見

private: 
    struct Node{ 
     Customer data; 
     Node *next; 
     Node *prev; 
    }; 
Node* find (const int index) const; 

,並宣佈返回Node*私有函數。

然而,當我試圖在我的cpp文件,來實現功能find,它提供了一個錯誤,說「標識節點未定義」。

Node* CustomerList::find(const int index){ 
    //some random code 
} 

這是什麼問題,是不是Node應該是在.cpp可見?

+1

是'Node'在聲明上什麼課的資格?你需要'TheClassName :: Node * ..., – juanchopanza 2013-05-05 15:54:25

回答

4

假設CustomerList是包含Node的類。

CustomerList::Node* CustomerList::find(const int index){ 
    //some random code 
} 

在一個CustomerList方法,你就可以說Node但返回類型是不同的,你仍然需要CustomerList::

+0

是的,現在就開始工作。謝謝! – 2013-05-05 16:03:28