关于头文件顺序的问题

今天在编写linear工具时出现了一个错误

#include <stdio.h>
#include <malloc.h>

#include "linear.h"
#include "mec.h"
#include "userType.h"

在这里插入图片描述
自己明明别写好了userTpye.h的头文件,为什么会频频报错,USER_TYPE类型没有定义。
询问了老师,查阅了一些资料后,发现这和头文件的顺序有关。

当我将头文件的顺序变为

#include <stdio.h>//系统头文件
#include <malloc.h>//系统头文件

#include "userType.h"//自己编写的第三方库文件
#include "mec.h"//自己编写的第三方库文件
#include "linear.h"//自己的头文件

就没有错误了。
找到了一个规免此问题的方法:系统头文件在前面,然后是第三方库头文件,最后是自己的头文件。

所以以后不能随意摆放头文件的位置。

有大神如果知道为什么不能随意摆放的深层原因的话,请指点一下我。谢谢。

猜你喜欢

转载自blog.csdn.net/weixin_45483328/article/details/107424009