> The file had function calls to functions defined in a .C file
C++ compilers mangle names (to support overloading), whereas C does not. If a C++ compiler tries to call a C function, you need to stop it mangling the name.
This is usually done by having
Code:
extern "C" {
void some_c_func();
}
around the prototypes of the C functions.
> Is there anything wrong in doing this?
Is there anything to indicate that it should be a C file, or just plain sloppyness on the part of the original author (could be hard to tell). Like can you ask them about it?
Compiling a project in a single language should be preferred, so if it seems to work, go for it.
> Is it possible that the code may work differently when it runs?
It's possible, there are some things which compile differently in C and C++, but are valid in both languages.
http://david.tribble.com/text/cdiffs.htm