读书人

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

发布时间: 2012-05-09 12:13:59 作者: rapoo

关于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); 

读书人网 >C++ Builder

热点推荐