C++ error LNK1169:找到一个或多个多重定义的符号 解决

本文解决了在C++编程中因全局变量在头文件中不当声明导致的多重定义错误问题。通过正确使用extern关键字并在单一cpp文件中定义变量来避免链接错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       编译C++程序时,出现了“error LNK1169:找到一个或多个多重定义的符号”错误提示,然后顺着提示找到问题出现的地方。

       问题:

在h头文件中创建全局变量,在cpp文件中引用时出现多重定义错误



运行时提示如下错误:




        解决:

1、在头文件中用extern声明变量


如果只进行到这一步,编译运行时还是会报错误,会提示“error LNK1120:1个无法解析的外部命令”



2、需要在cpp文件中定义这个变量,因为在头文件中只是声明,并没有定义


进行到这步时,再引用使用就没有错误了



有问题和建议希望留言提出或者发邮箱给我,虚心倾听学习! 邮箱:1203782828@qq.com



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值