C++11 用于保存相同结构类型的数据

C++11 用于保存相同结构类型的数据,c++11,struct,C++11,Struct,我试图创建一个必须保存相同结构类型数据的结构。这可能吗 我可以定义指向相同类型对象的指针,但不能定义结构本身 struct Node { vector<string> state; struct Node *prev; int id; Node() { } ~Node() { } }; 谢谢不 struct Node { vector<string> state; struct N

我试图创建一个必须保存相同结构类型数据的结构。这可能吗

我可以定义指向相同类型对象的指针,但不能定义结构本身

struct Node
{
    vector<string> state;
    struct Node *prev;
    int id;
    Node()
    {
    }

    ~Node()
    {
    }
};
谢谢

struct Node
{
    vector<string> state;
    struct Node prev;
    int id;
    Node()
    {
    }

    ~Node()
    {
    }
};
struct节点
{
矢量状态;
结构节点prev;
int-id;
节点()
{
}
~Node()
{
}
};
此代码不起作用,因为Node类型不知道为Node类型的对象分配多少空间。该类型仍在定义过程中。因此,它还不知道

但是,我可以用指针来做它

对。指针保存的不是对象,而是对象的内存位置。编译器知道节点是一种数据类型,但它不需要知道分配多少,因为分配将在以后手动完成

但是,我可以用Java来做


引用与C++指针()不相同。但是,出于许多目的,你可以认为它们是一样的。请记住,在Java类中创建成员时,就是在创建引用。(). Java引用将引用(指向)实际对象。Java类中的成员“parent”不是对象本身,而是对对象的引用。与C++类中的“*PREV”相同的方法不是对象,而是指向对象的位置。

同一类型的成员将包含同一类型的成员,其中包含相同类型的成员,不是吗?在你看来,这将在哪里结束呢?可能是@Yunnosch的重复我明白了这一点,但我发现在Java中使用类是可能的。请查看更新的问题。
public class Vertex implements Comparable{

    public Pallet[] bins;
    public int cost;
    public Vertex parent;
}
struct Node
{
    vector<string> state;
    struct Node prev;
    int id;
    Node()
    {
    }

    ~Node()
    {
    }
};