2014-04-08 2 views
0

Я пытаюсь создать структуру с другими структурами внутри.struct array внутри другой структуры

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]; 
    }; 

Я получаю эту ошибку:

error: array type has incomplete element type

Является ли это сделать Возможное?

Пример кода:

//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

Совершенно верно. В чем проблема ? Сообщение об ошибке, которое вы получаете, может поступать из другой части вашего кода. – haccks

+0

Показать SSCCE, пожалуйста, –

+0

Это прекрасно. Но как альтернатива, вы можете сделать 'bullets_onscreen' как массив из 4' bullet'? 'struct bullet bullets_onscreen [4];' – GoldRoger

ответ

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; 
}; 

Определение структур в порядке, что вы сделали в этом вопросе, и ваш код будет компилироваться.

+0

сделано, получение такая же ошибка – user3120382

+0

не думаю. Показать SSCCE. –

Смежные вопросы