I have C headers which forward declare enums. Apparently, this is not possible in C++, so all of the pre-processor wraps of the form
extern "C" { #include <header.h> }
are not going to help. Is there any way to include these headers in a C++ translation unit without requiring me to edit the C headers? Fortunately, modifying the C headers to avoid the forward declaration in this case is relatively painless, but this strikes me as being a pretty significant problem. In general, I had thought it was always possible to link against a C library from C++, but the inability to include the header seems to make that impractical in some cases.