奇奇怪怪的StackOverFlow

mdaer 2005-01-13 11:46:23
昨天程序还好好的 今天就冒出来一个错误:

---------------------------
Debugger Exception Notification
---------------------------
Project sdiapp.exe raised exception class EStackOverflow with message 'Stack overflow'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
选择 OK 绿色小箭头指向 forms.hpp下这一句:

/* TCustomForm.Create */ inline __fastcall virtual TForm(Classes::TComponent* AOwner) : TCustomForm(AOwner) { }

有谁知道问题的原因?
...全文
402 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
happyct 2005-02-22
  • 打赏
  • 举报
回复
jishiping 2005-01-14
  • 打赏
  • 举报
回复
因为你的这个构造函数,和BCB的TForm的另一个构造函数相同了,当你创建Form时,BCB误以为是调用
TForm(Classes::TComponent* AOwner, int Dummy)这个构造函数,而不是调用你的构造函数。

解决办法,更换第二个参数的类型(比如改成long、DWORD之类的),在创建TForm时,第二个参数
必须明确指明参数的类型,比如:

头文件中:
__fastcall TMyForm(TComponent* AOwner, long);

创建TMyForm时,用类似下面的语句:new TMyForm(this, (long)0); //明确第二个参数的类型
mdaer 2005-01-14
  • 打赏
  • 举报
回复
/* TCustomForm.CreateNew */ inline __fastcall virtual TForm(Classes::TComponent* AOwner, int Dummy) : TCustomForm(AOwner, Dummy) { }
这句话是什么意思?
mdaer 2005-01-14
  • 打赏
  • 举报
回复
我也发现问题的原因了,正如jishiping(JSP 季世平) 所说

"
另外,看看你的Form的构造函数,有没有这样的构造函数:
TMyForm(TComponent* AOwner, int);
就是比一般的Form的构造函数多一个int参数,如果是这样的话,一般就是这个构造函数惹的祸。
"
但不这样做 有什么好一点的办法?这个是BCB的bug,还是我做错了?
MEFULEU 2005-01-13
  • 打赏
  • 举报
回复
板凳!@
jishiping 2005-01-13
  • 打赏
  • 举报
回复
“CSDN不是人才济济吗?” - 楼主说这话就不厚道了。你只给出一句错误信息,逼人只能给出可能的原因,但是不能保证就给出正确的原因。
jishiping 2005-01-13
  • 打赏
  • 举报
回复
'Stack overflow' 基本上都是无限递归造成的,看看你的代码中有没有什么递归函数。

另外,看看你的Form的构造函数,有没有这样的构造函数:
TMyForm(TComponent* AOwner, int);
就是比一般的Form的构造函数多一个int参数,如果是这样的话,一般就是这个构造函数惹的祸。
samchoy 2005-01-13
  • 打赏
  • 举报
回复
唉,没看到原代码谁能猜出是什么原因呢?
mdaer 2005-01-13
  • 打赏
  • 举报
回复
CSDN不是人才济济吗?
mdaer 2005-01-13
  • 打赏
  • 举报
回复
我将后来加上去的代码注释掉了也不行啊!

编译能够通过.但一运行起来,就不行了,而且无法跟踪,找不出原因.
gfh21cn 2005-01-13
  • 打赏
  • 举报
回复
你肯定反复的互相调用以至于栈溢出
mdaer 2005-01-13
  • 打赏
  • 举报
回复
没有人知道?

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧