我的C ++程序中的错误看起来很奇怪。 (调试进度更新) [英] Bug in my C++ program seems really strange. (Update on debugging progress)

查看:51
本文介绍了我的C ++程序中的错误看起来很奇怪。 (调试进度更新)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨。


我似乎在程序中找到了这个bug方面取得了一些进展。我已经停用了bignum包中的所有内容,除了

返回BigFloat对象之外。我甚至瘫痪了所有的

构造函数。所以现在使用

的所有操作和构造函数都只返回BigFloats但实际上没有任何内存访问

任何点,也没有任何分配。但是,当我重新启用分配内存的构造函数的那些部分时,_then_启用_b $ _内存的_de_structor部分,出现错误。当我去分配数字时,它似乎只有
。缓冲区(在构造函数中)


digits = new DIGIT32 [length];


并且免费使用(在析构函数中)


删除数字;


或:


(在构造函数中分配)digits =(DIGIT32

*)malloc(length * sizeof(DIGIT32));


(在析构函数中免费)免费(数字);


当我不打电话给免费或删除,但是,崩溃没有出现。

但它似乎不是需要记忆的东西然后

访问它我试过没有首先分配和

" digits"设置为虚拟指针,并且没有任何错误或任何尝试访问内存,因为这会导致程序崩溃。当你在构造函数中分配内存并在

析构函数中释放它时,它只会发生
。在分配后立即释放它,在

构造函数中,不会导致崩溃错误。


无论如何,给出了什么?

推荐答案

哎呀!抱歉双重发布。 Darn,

Google崩溃......

Ooops! Sorry about the double posting. Darn,
Google crashed...


mike3写道:
mike3 wrote:

8月31日晚上10点32分,Alf P. Steinbach < al ... @ start.nowrote:
On Aug 31, 10:32 pm, "Alf P. Steinbach" <al...@start.nowrote:



....

....

http://www.mediafire.com/?cfmzd1y3yij



如何构建所有这些?

How does one build all that ?




mike3< mi ****** @ yahoo.comwrote in message ...

mike3 <mi******@yahoo.comwrote in message...

>

digits = new DIGIT32 [length];


并且免费使用(in析构函数)
>
digits = new DIGIT32[length];

and free with (in destructor)



//删除数字;


删除[]位数;


如果你是'新',你''删除''。

如果你'新[]'',你''删除[]''。


-

Bob R

POVrookie

// delete digits;

delete [] digits;

If you ''new'', you ''delete''.
If you ''new[]'', you ''delete[]''.

--
Bob R
POVrookie


这篇关于我的C ++程序中的错误看起来很奇怪。 (调试进度更新)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆