关于头文件中为什么定义的变量用extern关键字

来源:互联网 发布:知满天可以吗 编辑:程序博客网 时间:2024/05/13 17:24

     今天写程序遇到个问题,一共有三个文件,main.c ,processData.cpp,processData.h,其中两个cpp文件都包含了processData.h,需要一个全局变量cnt,若是在头文件中声明为int cnt的话,就会报错说是重复声明,因为两个cpp文件都包含了这个头文件,在编译的时候,编译cpp文件链接到头文件,会把cnt 编译两边,因此报错重复定义。

     解决方法,可以在main函数中声明全局变量,int cnt = 0;再在头文件中写 extern int cnt ; 声明为外部变量,这样就不会报错,程序可以完美执行了。

0 0