Вот следующая основная функция или моя программа
void scene_render(const struct Scene *s);
int main(void) { //leave main as is
struct Scene myScene;
scene_init(&myScene);
int keep_going = 1;
while (keep_going == 1) {
cons_clear_screen(); //clear off-screen display buffer
scene_render(&myScene); //render the scene to display buffer
cons_update(); //copy the display buffer to the display
cons_sleep_ms(ANIMATION_DELAY); //pause
scene_update(&myScene); //update the scene
int key = cons_get_keypress(); //see if the user has pressed a key
if (key != -1) {
keep_going = 0;
}
}
return 0;
}
void scene_render(Scene *s)
{
cons_clear_screen();
for(int i=0; i<NUM_PARTICLES; i++)
{
particle_render(&s->parts[i]);
}
}
Когда я запускаю команду makefile на Cygwin, она пропускает ошибки и начинает компиляцию, но при обнаружении scene_render выдает ошибку (& myScene) ;. Это говорит о том, что ссылка на него не определена. Он ссылается на переменную в функции, которая является const структурой, в то время как все другие экземпляры, где вызывается & myScene, являются просто структурами. Есть идеи, в чем проблема? Эта лаборатория в основном посвящена использованию указателей, если это поможет.
Программа (с помощью внешних функций) должна генерировать и отбрасывать произвольно окрашенные пиксели вокруг командного окна, откидывая их назад, чтобы держать их на экране. Удаление проблемы приводит к успешной компиляции программы, но затем загружает пустое окно, которое, похоже, ничего не делает.