错误 - ListNode未命名类型

时间:2014-02-28 01:47:33

标签: c++ struct

在.h文件中,

  7 using namespace std;
  8 
  9 class DataStructure {
 10     private:
 11         struct ListNode {
 12             int item;
 13             ListNode *next;
 14         };
 15         int size;
 16         ListNode *head;
 17 
 18     public:
 19         DataStructure(int N, vector<int> elements);
 20 
 21         ListNode* findnode(int index);
 22         void move(int index, int siz);
 23 
 24 };

在.cpp文件中

 26 DataStructure::ListNode* DataStructure::findnode(int index) {
 27     ListNode *start;
 28     start=head;
 29 
 30     for (int i=1; i<index; i++)
 31         start=start->next;
 32 
 33     return start;
 34 }

.line中的@line 26,错误:ListNode没有命名类型。 我很确定我做的一切都是正确的。烦人。 编辑:回复后,我更新了我的代码。

DataStructure.cpp:26:26: error: prototype for 'DataStructure::ListNode* DataStructure::findnode(int)' does not match any in class 'DataStructure'
DataStructure.h:17:18: error: candidate is: DataStructure::ListNode DataStructure::findnode(int)

2 个答案:

答案 0 :(得分:2)

ListNodeDataStructure内定义,因此您必须对DataStructure::ListNode函数的返回类型说findnode

答案 1 :(得分:0)

你应该写一个函数来填充你的struct电话,然后定义findNone