C++错误:重定义 不同的存储类 二次定义的解决方法

来源:互联网 发布:数据记录表 编辑:程序博客网 时间:2024/05/01 01:21

碰到这问题,是由于你的头文件重复包含了所定义的变量或者常量,这点是无容置疑的,那究竟怎么才不会重复包含?我这里的是最简单最直接的方法,只要你在你出现重定义错误的头文件加上这一句:#pragma once 就可以解决了,这一句的意思是告诉编译器,编译过程中以下内容只加载一次,即使出现复杂多嵌套的头文件包含页不会出现重定义,这也是一种良好的变成习惯。如果你没有把变量或者常量定义到头文件(h)而出现以上错误,那根源其实也是一样,只要你把编译错误的全局或者共享变量,常量放到同一个自定义的头文件里,在头文件的开头加上:#pragma once 就可以解决。
避免多重包含还可以这样来做:
#ifndef A
#define A
//定义,比如 const int a = 10;
#endif

原创粉丝点击