repair the problem that one header file contains another