-4024 Identifier "name" has multiple declarations with different types.
Multiple declarations of a given name in a given scope must be
consistent (that is, they must have the same type). The identifier that
is shown has been declared with a different type.