[ERROR]
Classes, structures and unions may be declared only once. Function redeclarations must have the same parameters and return values as the original declaration. In C++, data objects cannot be redeclared (except with the extern specifier).
struct A {
int i;
};
struct A { // error
int i;
};
Avoid redeclaration, e.g. guarding include files with #ifndef.