中易网

两个独立的cpp包含同一个头文件的疑问

答案:3  悬赏:50  
解决时间 2021-02-28 13:50
下面是我的头文件
#ifndef MAIN_H_IF_DEFINEF
#define MAIN_H_IF_DEFINEF
#include
class aaa
{
public:
int i;
};

#endif
我发现只要定义不分配内存的东西(比如说类的声明)就没事,只要定义需要分配内存的变量或函数就会报错,高手能解释一下吗?
最佳答案
#ifndef MAIN_H_IF_DEFINEF
#define MAIN_H_IF_DEFINEF
...................
#endif

这个方法不能解决楼主的问题,这个条件编译预处理是为了防止一个文件多次包含另一个文件的,对于多个文件包含同一个文件的情况,这个方法不起作用,楼主实在要在头文件中定义变量和函数,那就把它定义成静态的
比如
static void cscs(){
cout<<"这是头文件定义的"< }

static int ii;

这样就不会出现重复定义的情况了,但同时变量ii和函数cscs的作用范围就只限于本文件了

所以最好还是采用标准做法,头文件里只存在申明,把实现放到另一个源文件里
全部回答
报什么错
你好! #ifndef MAIN_H_IF_DEFINEF #define MAIN_H_IF_DEFINEF 通常是#ifndef 头文件名称_H #define 头文件名称_H 后面是_H 你试试看 仅代表个人观点,不喜勿喷,谢谢。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
请预测一下我成年后的身高
关于和女朋友商谈出钱买房的问题!
煮玉米稀饭可以放虾皮吗
宾美卫浴在哪里啊,我有事要去这个地方
love.H和love.x什么意思啊? 关于爱情方面的
the latest news与the newest news
有什么词语形容想起了一些往事心里很不爽
申通快递单号查询查到已签收,签收的人不是自
万号国际酒店在什么地方啊,我要过去处理事情
面对面怎么去啊,有知道地址的么
青岛万福集团万福汽修厂地址有知道的么?有点
尚书苑小区西门我想知道这个在什么地方
u盘空间变小了
this fish lives还是live?
迪兰朵怎么去啊,有知道地址的么
推荐资讯
文登合成国际贸易有限公司在什么地方啊,我要
粤裕丰钢铁厂入职体检都检查什么?
中国体育彩票超级大乐透怎么样?
电动机维修绕线
我喜欢上一个原来喜欢过我的男孩,现在他和另
天正电气扎兰屯旗舰店我想知道这个在什么地方
联通宽带绑定到手机卡 手机没欠费 网络没了
最近百度一直提醒我的密码可能泄漏,要验证手
银行业猎头一半用什么资源找候选人
常州市遥观吸塑厂这个地址在什么地方,我要处
27000步相当于走多少公里
佛山市力森五金制品公司地址有知道的么?有点
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?