假设上面文件为a.c,前面加一句:#include "b.h"或不用b.h前面加句void enorder()也成
b.c中第1句改为:extern int a[10]
void enorder()在头文件b.h中写成extern void enorder()也成
请使用预编译指令 #include。
#include放在代码文件头,用于告诉编译器,文件中包含的头文件,属于预处理文件的一部分 。
语法为:
#include <iostream.h>(这句是程序编译时搜索系统目录文件)
#include “HName.h" (这句是程序编译时搜索当前项目的文件)
1、如果引用了多次,会导致重复定义函数错误,所以多次导入需要做如下处理。2、采用#ifndef避免重复导入。
格式如下:
#ifndef __SOMEFILE _H_
#define __SOMEFILE _H_
...//一些声明语句
#endif
#ifdndef的方式依赖于宏名不允许冲突。这不光可以保证同一个文件不会被包含多次,也能保证内容完全相同的两个文件不会不小心被同时包含。缺点是如果不同头文件的宏名不小心相同,那么可能会导致头文件明明被include了,编译器却说找不到声明的状况。
3、你说多次导入没问题,那应该是用了2的方法
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)