struct array在另一个struct中

时间:2014-04-08 19:24:26

标签: c arrays struct

我正在尝试在其中创建一个包含其他结构的结构。

    struct bullet{
        char bullet_sprite[100];
        int pos_x;
        int pos_y;
        int ace_x;
        int tag;
    };


  struct bullets_onscreen{
        struct bullet v[2];
        struct bullet a[2];
  };

我收到此错误:

  

错误:数组类型具有不完整的元素类型

这可行吗?

示例代码:

//Calling functions
struct bullets_onscreen[2] //public 

struct bullet bala[1];
init_bullet(&bala,_player);
set_bullet_on_screen(&bala);

void set_bullet_on_screen(struct bullet *_bullet){
        array_bullet[1] = _bullet;
}
void init_bullet(struct bullet *_bullet, struct player *_player){
        //inits all bullet components
}

1 个答案:

答案 0 :(得分:3)

写完你的代码就好了。据推测,在实际代码中,您已经颠倒了两个结构定义的顺序。此代码会生成您报告的错误:

struct bullets_onscreen{
    struct bullet v[2];
    struct bullet a[2];
};

struct bullet{
    char bullet_sprite[100];
    int pos_x;
    int pos_y;
    int ace_x;
    int tag;
};

按照您在问题中所做的顺序定义结构,代码将编译。