This should be perfectly acceptable if you've done it correctly. Make sure your header only gets processed once using a header guard.
Either:
#ifndef HEADER_NAME
#define HEADER_NAME
#endif
-OR-
#pragma once
Your error indicates that you have some identifier that isn't defined anywhere in your code (might be a prototype mismatch). Without more information, it's kind of hard to guess where your actual problem arises.