关于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。
如果需要构造时代入一个整形值,可以换一下形式,用下面的重载:
public: // User declarations __fastcall TForm1(int a, TComponent* Owner);