c++ multiple definition of 问题解决方法

3 篇文章 0 订阅
当多个源文件引用同一个头文件导致编译错误`multiple definition of`时,可以采取措施避免。如使用`extern`关键字声明全局变量,利用`#ifndef/#define/#endif`防止头文件重复包含,或者为全局常量使用`const`,对于函数可尝试使用`inline`进行内联。这些方法能有效解决C++中的重复定义问题。
摘要由CSDN通过智能技术生成

问题描述

有一个.h头文件,两个.cpp文件都引用了这个.h文件,在.h文件中声明了一些全局变量或函数,

编译时报错 【multiple definition of】

原因:好像是由于多次包含,然后编译.cpp文件是重复 定义了。
解决方法:

1. 使用extern关键字,即变量在.c文件中声明,在.h中用extern标志即可;

2.  用#ifndef+#define+#endif

3.  如果全局变量是常量,使用const标志该常量(C++中)

4.  如果是函数,加inline关键字,使函数体内联

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值