Subject: SP (This message is being sent to all CPSC 102 Sec 1 students ) Another student points out: "When working on the project, I received an error: camera.c:4: error: conflicting types for camera_init rayhdrs.h:23: error: previous declaration of camera_init was here I think this is because the function in the notes was a void function, but the function in the "rayhdrs.h" file is camera_t *camera_init Which one am I supposed to use? Also, this compiles as a warning: camera.c:14: warning: implicit declaration of function !Fcamera_load_attributes!G Does this mean I need to type that prototype into the "rayhdrs.h" file?" --------------------- Answer: As you have correctly understood, the problem is incompatibility between notes and rayhdrs.h. Fix rayhdrs.h to be consistentent with the version in the notes. void camera_init( FILE *in, model_t *model, int attrmax); ------------------------------------------- On the second problem, since camera_load_attributes() is a private function to the camera module you should either (1) put a prototype for camera_load_attributes() at the top of camera.c or (2) just rearrange the code so that camera_load_attributes() appears physically before camera_init() I use approach (2) but either one is perfectly fine.