Hi David
The compiler rules for C and C++ are some what differ. when you write any code in C and if you want to access that function or structure in C++ file then explicitly you have to tell to compiler and it will call that perticular function( or Build) as a C style rules and gives no error.
At the same time you if you want to access C++ code in C file then also you have to define a Macro for that.
Here i am passing you one link..Just go through this and get the detail answer.
If you have any query then Ask me
http://developers.sun.com/prodtech/cc/articles/mixing.html (
http://developers.sun.com/prodtech/cc/articles/mixing.html)
Best Regards,
slsnios