4

对于分配,我需要声明多个结构,那里没有问题。这些声明如下:

typedef struct struct1{
  struct2* object;
}

typedef struct struct2{
  struct1* object;
}

// functions using both struct1 and struct2 parameters

当然,这会给我一个错误,因为 struct2 没有在 struct1 之前声明。因此,我尝试通过放置

struct struct2;

在顶部。但是,这需要我将 struct1 块中的对象称为

typedef struct struct1{
  struct struct2* obj;
}

该结构的函数将用于使用 struct1* 和 struct2* 参数,并按此进行测试(包括构造函数)。使用上面例子中的结构标签会给我带来无数错误。有谁知道如何解决这一问题?

4

1 回答 1

6
typedef struct s2 struct2;

typedef struct s1 {
  struct2* object;
} struct1;

struct s2 {
  struct1* object;
};
于 2013-04-01T14:12:47.363 回答