Before I continue, here is the code which is giving me an error:
#define numScores 3 // the number of test scores which a student will have
struct btreenode{
int studentID; // the ID number of the student at the current node
float scores[3]; // the 3 test scores of the student
float average; // the average of the 3 test scores for the student
struct btreenode *left; // pointer to left side of the tree
struct btreenode *right; // pointer to right side of the tree
};
typedef struct btreenode *Node;
I'm getting the following error when I compile:
btreenode.h:17: error: redefinition of 'struct btreenode'
btreenode.h:28: error: conflicting types for 'Node'
btreenode.h:28: note: previous declaration of 'Node' was here
I have a block comment at the top so the line numbers are off, but
line 17 is the first line "struct btreenode{
"
line 28 is the last line "typedef struct btreenode *Node
"
Does anyone know why i'm getting these errors?
The header file should not be included more than once. So use macro in header file to avoid multiple inclusion.
#ifndef TEST_H__
#define TEST_H__
/*you header file can have declarations here*/
#endif /* TEST_H__*/
I am assumed that, this kind of approach is not there in your header file.