ポインタエラーがでて困っています。どうすればいいでしょうか?
敵を描こうとするとポインタエラーになってしまいます。
enemyクラス struct enemy_t{ struct enemy_t *next; /* 次の構造体変数のアドレス */ bullet_data bullet;//クラスにアクセス用 double x,y; //座標 double spd;//スピード double angle;//角度 int flag;//フラグ int cnt;//カウンタ int pattern; int knd; int muki; double vx,vy; int wait; int state; int img; }; class enemy_data{ private: enemy_t enemy; public: void enemy_enter(int flag,double x,double y ,double spd,double angle,int pattern,int knd,int muki,int wait); void enter_enemy(enemy_t *p,double x,double y ,double spd,double angle,int pattern,int knd,int muki,int wait); void calc_enemy(); void graph_enemy(); void enemy_graph(enemy_t *head); void Init(); }; クラス内容 void enemy_data::Init(){ memset(&enemy,0,sizeof(enemy_t)); //弾を初期化 enemy.bullet.Init(); //敵をセット enemy_enter(0,50,30,0,PI/2,0,0,0,0); enemy_enter(1,50,30,3,PI/2,0,0,0,0); enemy_enter(1,50,30,3,PI/2,0,0,0,0); //弾をセット enemy.bullet.enter(0,-10,50,PI/2,0,8,0); enemy.bullet.enter(1,100,60,PI/2,3,1,0); } void enemy_data::graph_enemy(){ enemy_graph(&enemy); enemy.bullet.graph_bullet(); } void enemy_data::enemy_graph(enemy_t *head){ enemy_t *p; int countu=0; if(head->next!=NULL){ for(p=head->next;p!=head;p=p->next){ if(p->flag==1){//アクセス違反が発生 p->x+=cos(p->angle)*(p->spd); p->y+=sin(p->angle)*(p->spd); DrawRotaGraphFdF(p->x,p->y,1.0,p->angle+PI/2,img_enemy[0][0],TRUE); p->cnt++; countu++; } } } } void enemy_data::calc_enemy(){ if(CheckStatePad(configpad.shot)>=1){ enemy_enter(1,50,30,3,PI/2,0,0,0,0); } enemy.bullet.delete_bullet(); enemy.bullet.calc_bullet(1); } void enemy_data::enemy_enter(int flag,double x,double y ,double spd,double angle,int pattern,int knd,int muki,int wait){ if(flag==0) enter_enemy(&enemy,x,y,spd,angle,pattern,knd,muki,wait); if(flag==1) enter_enemy(enemy.next,x,y,spd,angle,pattern,knd,muki,wait); } void enemy_data::enter_enemy(enemy_t *p, double x, double y, double spd, double angle, int pattern, int knd,int muki,int wait){ enemy_t *tmp; tmp = (enemy_t*)malloc(sizeof(enemy_t)); //要素が存在した場合 if(p->next!=NULL) { tmp->next=p->next; p->next=tmp; tmp->flag=1; tmp->x=x; tmp->y=y; tmp->spd=spd; tmp->angle=angle; tmp->cnt=0; tmp->pattern=pattern; tmp->knd=knd; tmp->muki=muki; tmp->vx=0; tmp->vy=0; tmp->wait=wait; tmp->state=0; tmp->img=0; } else//要素がない場合 { tmp->next=p->next; p->next=tmp; tmp->flag=1; tmp->x=x; tmp->y=y; tmp->spd=spd; tmp->angle=angle; tmp->cnt=0; tmp->pattern=pattern; tmp->knd=knd; tmp->muki=muki; tmp->vx=0; tmp->vy=0; tmp->wait=wait; tmp->state=0; tmp->img=0; } }