Originally Posted by
msh
Asides from that cute circular dependency you have going on between "E.h" and "F.h"...
You can compile most C code with C++ compiler. The reverse is not true.
First, have you configured additional include directories for your project? Not having this would account for compiler's inability to find them, if they don't live in the same directory as the source file that includes them. Second, have you configured this project to compile as C or C++? It needs to be set to compile as C++ for this to have any chance of working and you need to use the C++ versions of standard C headers. Their names are the same as C's, but with `c` prefixed and `.h` extension dropped. E.g. `stdlib.h` becomes `cstdlib`, and `stdio.h` becomes `cstdio`. Note that mixing functions from `cstdio` and `iostream` will eventually lead to breakage in ways most weird. Thirdly, are you using `#pragma once` in your header files? It's a reasonably good idea to do that.
With that said, what you're doing is painful to look at. :S