【发布时间】:2015-10-24 10:36:47
【问题描述】:
好的,这是我的问题,如果有问题的话。
我正在构建一个链接列表。
该链表由类形式的元素组成。
因此,我有一个名为linked_list 的类和一个名为node 的嵌套类。
显然,主类用于处理节点并提供一些与它们交互的功能。
这里是它的外观草稿:
class linked_list
{
public:
linked_list();
~linked_list();
void setFirst(node *firstIn){first = firstIn;}
node* getFirst(){return first};
void forward();
void forward(unsigned char);
private:
node *first;
node *current;
class node
{
public:
node();
~node();
void function1();
void function2();
private:
int various_data;
node *next;
};
};
现在,您可以想象,当我在 @987654325 的公共部分使用它时,编译器给了我一个错误(实际上是两个),告诉我 node 类型/类尚未声明@class 来声明函数的参数和返回类型。
我想我可以颠倒public: 和private: 部分,这样node 类的声明就在它的使用之前,但是这个escamotage 会让我的(轻度)强迫症非常恼火,以至于我无法忍受它。
除了把public:和private:倒过来,真的没有别的办法了吗?
它杀了我!
【问题讨论】:
-
为什么我得到-1?因为我没有给第一个回答的人一个简单的徽章?苛刻的观众,这个地方,为了帮助......
-
-2?可怜的孩子,他们不会得到奖品。
标签: c++ linked-list declaration nested-class