The problem is somewhere else, this code snipped is fine.
Do you include some custom headers? And do they by chance have no header guards? Or mayby functions implemented in header?
Well, the .h file contains just the function prototypes. You can include that in as many other files as you like. It simply lets the compiler know that the function exists somewhere, and what parameters it takes and returns.
However, the function definition in the .cpp file can appear only once, otherwise the compiler/linker won't know which version to choose from.
It's not really possible to say what's wrong without seeing more of your code, and what files there are, which file is including which other one etc...