C++ 如何编写公共函数来返回链表的头指针?
我得到一个语法错误:缺少“;”在我的getHead函数声明的“*”之前(是的,我想不出更好的名称了)。此函数的目的是返回头指针C++ 如何编写公共函数来返回链表的头指针?,c++,struct,linked-list,C++,Struct,Linked List,我得到一个语法错误:缺少“;”在我的getHead函数声明的“*”之前(是的,我想不出更好的名称了)。此函数的目的是返回头指针 class Newstring { public: Newstring(); void inputChar ( char); void display (); int length (); void concatenate (char); void concatenate (Newstring); bool sub
class Newstring
{
public:
Newstring();
void inputChar ( char);
void display ();
int length ();
void concatenate (char);
void concatenate (Newstring);
bool substring (Newstring);
void createList ();
Node * getHead (); // error
private:
struct Node
{
char item;
Node *next;
};
Node *head;
};
遇到getHead()时,编译器无法获取节点的定义
Node * getHead()
在使用节点之前先放置节点的定义
struct Node
{
char item;
Node *next;
};
遇到getHead()时,编译器无法获取节点的定义
Node * getHead()
在使用节点之前先放置节点的定义
struct Node
{
char item;
Node *next;
};
在使用之前声明节点。在使用之前声明节点。必须在getHead()上方声明节点结构
必须在getHead()上方声明节点结构
要回答Brandon关于保持结构私有,或在添加声明时保持当前代码的问题,方法如下:
class Newstring
{
public:
struct Node
{
char item;
Node *next;
};
Newstring();
void inputChar ( char);
void display ();
int length ();
void concatenate (char);
void concatenate (Newstring);
bool substring (Newstring);
void createList ();
Node * getHead (); // error
private:
Node *head;
};
要回答Brandon关于保持结构私有,或在添加声明时保持当前代码的问题,方法如下:
class Newstring
{
public:
struct Node
{
char item;
Node *next;
};
Newstring();
void inputChar ( char);
void display ();
int length ();
void concatenate (char);
void concatenate (Newstring);
bool substring (Newstring);
void createList ();
Node * getHead (); // error
private:
Node *head;
};
另一种方法是通过在节点
class Newstring
{
struct Node; // here the declaration
public:
Newstring();
void inputChar ( char);
void display ();
int length ();
void concatenate (char);
void concatenate (Newstring);
bool substring (Newstring);
void createList ();
Node * getHead (); // error
private:
struct Node
{
char item;
Node *next;
};
Node *head;
};
另一种方法是通过在节点
class Newstring
{
struct Node; // here the declaration
public:
Newstring();
void inputChar ( char);
void display ();
int length ();
void concatenate (char);
void concatenate (Newstring);
bool substring (Newstring);
void createList ();
Node * getHead (); // error
private:
struct Node
{
char item;
Node *next;
};
Node *head;
};
有没有办法让结构保持私有?Brandon>你可以只声明结构,添加一个答案来说明如何。有没有办法让结构保持私有?Brandon>你可以只声明结构,添加一个答案来说明如何。好的,我知道了。我刚换了私人和公共街区。谢谢大家!请注意,您可以有多个私有/受保护/公共块。我刚换了私人和公共街区。谢谢大家!请注意,您可以有多个专用/受保护/公用块。