I am working on a program which uses a dynamic array of Employee class objects, the array is defined in EmployeeList class.
When i am calling a function from my form to enter or display Employee object data i'm getting errors:
[C++ Error] E2459 VCL style classes must be constructed using operator new.
(I'm using Borland Builder 6)
This is the code where it points to
Expand|Select|Wrap|Line Numbers
- void __fastcall TForm1::CreateEmployeeButtonClick(TObject *Sender)
- {
- theEmployeeList.addEmployee(Size);
- theEmployeeList.getEmployee(i).create(EnterEmployeeName,
- EnterEmployeeSurname,
- EnterEmployeeSocialNumber,
- EnterEmployeeSalary);
- }
Expand|Select|Wrap|Line Numbers
- void Employee :: create(TEdit &EnterEmployeeName,
- TEdit &EnterEmployeeSurname,
- TEdit &EnterEmployeeSocialNumber,
- TEdit &EnterEmployeeSalary)
- {
- //initialise data
- FirstName = EnterEmployeeName.Text;
- Surname = EnterEmployeeSurname.Text;
- Salary = StrToFloat(EnterEmployeeSocialNumber.Text);
- SocialNumber = StrToInt(EnterEmployeeSalary.Text);
- }
Expand|Select|Wrap|Line Numbers
- Employee *myEmployeeList[10];
- void EmployeeList :: addEmployee(&int SIZE)
- {
- myEmployeeList[SIZE]=new Employee();
- SIZE++;
- ListSize = SIZE;
- }
- Employee EmployeeList :: getEmployee(int index)
- {
- return myEmployeeList[index];
- }
Can't find any info on the web. ;(