我想让类有它的封闭类的成员的类,但我得到一个错误说字段有不完整的类型。这里有一个例子字段有不完整的类型C++
class List {
public:
List (int element, List rest) {
_first = element;
_rest = rest;
}
.
.
.
}
有没有办法解决这个问题呢?
我想让类有它的封闭类的成员的类,但我得到一个错误说字段有不完整的类型。这里有一个例子字段有不完整的类型C++
class List {
public:
List (int element, List rest) {
_first = element;
_rest = rest;
}
.
.
.
}
有没有办法解决这个问题呢?
使用此:
'rest'
应该是一个指针List
。
你还没有给我们的List
的完整定义,但我从你的描述猜测,你有这样的:
class List
{
...
List _rest;
};
显然,这是不可能的。一个对象不能包含它自己类型的成员,因为这会导致无限递归!
也许你想要一个指针或引用的成员?
嗯,我不知道它有多“明显”,它不像是一个不可能完成的任务,并且多通道编译器提供了大量的语言允许这样的事情发生。 – 2011-04-24 00:17:31
@Ed - 它与多次传递无关,但是如何存储数据。一个内部列表的大小是什么,内部列表的内部列表与内部... – 2011-04-24 06:34:00
@Bo Persson:你说得对,它与多次传递没有任何关系,这就是为什么成员显然(如指出的那样)是一个指针。我以为我删除了那条评论... – 2011-04-24 07:43:59
'_rest'是如何声明的? – 2011-04-23 23:51:37