У вас есть две странные строчки:
// В конструкторе класса level
cruiser cruiser(SDL_Surface *screen);
// В конце функции main
level level(screen);
У вас level и screen - это названия классов (по сути имена типов) и названия конструкторов этих классов. И в любом случае эти строки не правильны.
Если вы хотите создать объекты, то стоит написать так:
cruiser cruiser_obj = cruiser(SDL_Surface *screen);
level level_obj = level(screen);
// Или проще:
cruiser cruiser_obj(SDL_Surface *screen);
level level_obj(screen);
А если вы хотите просто вызвать конструкторы, то это можно сделать так:
cruiser(SDL_Surface *screen);
level(screen);