首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

关于BCB form的构造函数,该如何处理

2012-05-09 
关于BCB form的构造函数__fastcall TForm1::TForm1(TComponent* Owner): TForm(Owner)此为bcb form的构造

关于BCB form的构造函数
__fastcall TForm1::TForm1(TComponent* Owner)
  : TForm(Owner)
此为bcb form的构造函数。

__fastcall TForm1::TForm1(TComponent* Owner,int a)
  : TForm(Owner)
为什么在其中定义整形变量为出现重复构造,报错是何原理??

[解决办法]
C++Builder中,TForm类有一个默认的重载构造函数(CreateNew):
inline __fastcall virtual TForm(Classes::TComponent* AOwner, int Dummy);

在低版本的C++Builder中,如果重载窗体构造函数恰好是以上形式的,会引发堆栈溢出,高版本中已修正这个BUG。

如果需要构造时代入一个整形值,可以换一下形式,用下面的重载:

C/C++ code
public:        // User declarations    __fastcall TForm1(int a, TComponent* Owner); 

热点排行