QT使用中遇到LINK2005报错解决

本菜鸟在使用qt的过程中遇到了main.cpp和mainwindow.cpp需要调用同一参数的情况。起初在mainwindow.h中加入定义,在两个源文件中分别包含此头文件,点击运行,然后就出现了LINK2005的报错。
百度后发现是重定义的问题。
解决方法:
在mainwindow.cpp中参数定义,如 类型 名;(可直接赋值)
在mainwindow.h中参数声明,如extern 类型 名;(不要在这赋值)
在main.cpp中加入头文件,便可使调用此参数。
使用static也可解决报错问题,但是源函数间调用时参数地址不同,在有些时候会有影响。比如指针。
static 和 extern 的区别请看:
https://blog.csdn.net/qq_35524916/article/details/68953942

据说在头文件中加入
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#endif

#pragma once也可以解决此报错问题。我试了下没能成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值