MFC 变量未初始化,运行报异常

最近在VS2008上写了一个UDP的小例子,在服务器端创建了一个线程用来接收和发送数据。线程函数代码为:

DWORD WINAPI ServerThread(LPVOID lParam)
{
	DWORD acq;

//此处省略
	
	return acq;
}

acq作为返回值。在声明的时候没有初始化,编译通过。但是在运行时,要返回acq时,便会报异常了,异常内容为:



提示acq没有初始化。将acq初始化后,不会再报异常,所有功能可以正常使用。虽然问题解决了,但是我却没有完全弄懂原因。

好的编码习惯应该是在声明的时候就初始化,但是为什么没有初始化的变量使用时会报这个异常呢?到底是什么原因导致的这个问题呢?在C++标准中,应该没有对这方面的限定吧,是平台的原因吗?如果是,那到底是什么导致了这个问题的出现呢?查阅了很多资料也没弄懂,所以记下来,希望能够得到前辈指点。


这个异常是由于变量未初始化导致的,解决办法也有,但是我觉得自己找到问题的根源,我认为是其他方面的原因,比如编译器或平台对此做了某些方面的限定,具体原因我不知道,希望能够得到指点。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值