关于无法解析外部符号的错误

无法解析外部符号,表面意思还是比较清楚的。

但当出了问题的时候呢,就不太好解决了。

最常出现问题的原因:

1.没有包含头文件

2.没有包含库文件

3.静态成员变量没有在类外定义

这里,我主要想说的是类中静态成员变量的问题。

为啥我们没有在类外定义静态成员变量就会报这种错误呢。

分析一下编译器对静态成员变量的处理流程,相信大家就会明白了。

1.大家应该都知道静态变量是在编译期就分配空间的。当编译器编译程序的时候,不会查看类中的静态成员变量,或者说是碰到了也不会有反应,只会对类外发现的静态变量进行内存分配。为什么要这样呢?不清楚,大家可以考虑考虑,相信编译器这样做一定有他的理由。

2.如果没在类外定义,编译器就不会在分配空间。所以呢,当程序运行的时候,类中的声明的这个静态变量实际没有分配空间,所以一定找不到,就会报错,错误类型无法解析外部符号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值