我想使用指向節點的鏈接列表。 List是Node的容器類。我試圖格式化查找函數的列表,當鏈接列表中找到該節點時,返回指向節點的指針。但是,我不斷收到錯誤,說沒有類型說明符。 (錯誤顯示在下面鏈接的屏幕截圖中,主要查看Node.h中的第10行和第17行)。我如何正確格式化以擺脫錯誤? https://imgur.com/vicL8FS形成一個返回指向包含類的指針的函數?
NODE.H //Both class declarations contained here
class list //container class
{
public:
list();
~list();
void insert(string f, string l, int a);
node *find(string first, string last); //Pointer to contained class
private:
node *head; //errors here
int length;
};
class node
{
friend list;
public:
node(); // Null constructor
~node(); // Destructor
void put(ostream &out); // Put
bool operator == (const node &); // Equal
private:
string first, last;
node *next;
};
NODE.CPP
#include "Node.h"
node list::*find(string first, string last)
{
return NULL; //logic not written yet
}
//MAIN
p = a.find(first, last); //p is a pointer to node, a is a list.
嘗試'node * list :: find(string first,string last)'。 –
這不起作用。它只是增加了另一個錯誤 –
也許,但是'node * list :: find(string first,string last)'是無效的。因爲返回類型是'node *',函數名是'list :: find'。你不能混用它們。 –