Why is it a member function if it''s not operating on an instance of Bullet? Is it static? Why does player have a pointer to a single bullet?
Anyway, here''s your problem (well, apart from bizarre coding conventions):
newbullet = bullet;if(!bullet) { // This line means newbullet = NULL too buglog.ReallyWrite("Tested NULL... It''s NULL");bullet = new BULLET(x, y);bullet->next = newbullet;newbullet->next = NULL; // newbullet is still NULL, but you''re dereferencing it }
Also, this last bit makes no sense:
newbullet->next = bullet; // Here, you set newbullet''s next pointer to be the same as bullet bullet = newbullet;newbullet->next = NULL; // And here, you set it right back to NULL again.
Personally, it looks like you don''t quite understand pointers properly. Ask for clarification if these points don''t show you exactly what you''re doing wrong.