窗体构造函数重载导致缓冲区溢出,仅在增加一int型参数时出这种错误。

csdnxw 2004-02-04 09:36:50
在窗体创建时给其不同的参数以实现不同的目的,仅在增加一int型参数时出窗体重载缓冲区溢出,增加其他类型不出错。不解,请诸位指教!

出错信息如下:
---------------------------
Debugger Exception Notification
---------------------------
Project PRnssConfig.exe raised exception class EStackOverflow with message 'Stack overflow'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------

//C++ BUILDER自动生成的构造函数
__fastcall TWSelectDrivers::TWSelectDrivers(TComponent* Owner)
: TForm(Owner)
{

}
//---------------------------------------------------------------------------
//自己定义构造函数一,除上面所示的错误
__fastcall TWSelectDrivers::TWSelectDrivers(TComponent* Owner, int iDriversMask1)
: TForm(Owner)
{

}
//---------------------------------------------------------------------------
//自己定义构造函数二,不出现错误
__fastcall TWSelectDrivers::TWSelectDrivers(TComponent* Owner, unsigned int iDriversMask1)
: TForm(Owner)
{

}
//---------------------------------------------------------------------------
//自己定义构造函数三,不出现错误
__fastcall TWSelectDrivers::TWSelectDrivers(TComponent* Owner, char cDriversMask1)
: TForm(Owner)
{

}
...全文
50 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdnxw 2004-03-16
  • 打赏
  • 举报
回复
对,就是因为和其默认构造函数冲突,将第二个参数类型int改为 unsigned int就可以了。

13,826

社区成员

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

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