中易网
两个独立的cpp包含同一个头文件的疑问
答案:3 悬赏:50
解决时间 2021-02-28 13:50
提问者
网友:依靠
2021-02-27 15:40
下面是我的头文件
#ifndef MAIN_H_IF_DEFINEF
#define MAIN_H_IF_DEFINEF
#include
class aaa
{
public:
int i;
};
#endif
我发现只要定义不分配内存的东西(比如说类的声明)就没事,只要定义需要分配内存的变量或函数就会报错,高手能解释一下吗?
最佳答案
二级知识专家
网友:虚伪的现实
2021-02-27 16:52
#ifndef MAIN_H_IF_DEFINEF
#define MAIN_H_IF_DEFINEF
...................
#endif
这个方法不能解决楼主的问题,这个条件编译预处理是为了防止一个文件多次包含另一个文件的,对于多个文件包含同一个文件的情况,这个方法不起作用,楼主实在要在头文件中定义变量和函数,那就把它定义成静态的
比如
static void cscs(){
cout<<"这是头文件定义的"<
}
static int ii;
这样就不会出现重复定义的情况了,但同时变量ii和函数cscs的作用范围就只限于本文件了
所以最好还是采用标准做法,头文件里只存在申明,把实现放到另一个源文件里
全部回答
1楼
网友:野心和家
2021-02-27 17:34
报什么错
2楼
网友:心与口不同
2021-02-27 17:06
你好! #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时,显示手机磁盘不足,清理后重新登
•
刺客的套装怎么选啊?