我正在尝试用c ++制作工资单程序。在我的程序开始时,我必须定义一个名为EmployeeT的结构,它将所有关于员工的信息存储在一个单元中。
然后我必须把所有这些信息都放在一个名为employees的EmployeeT结构数组中。
到目前为止,我有这个......
typedef struct
{
char name[];
char title;
double gross;
double tax;
double net;
} EmployeeT;
那么,我错过了什么或做错了什么?
谢谢你们
答案 0 :(得分:3)
你有什么是好的,除了你想要一个灵活的数组成员(char name[]
),它需要是结构中的最后一个字段。可能你真正想要的是指针(char *name
)或真实数组(char name[SOME_SIZE]
)。
答案 1 :(得分:2)
将char name []更改为char name *。
初始化使用时:
name = new name[SIZEOFARRAY];
并且,当你不再需要它时,别忘了删除它:
delete [] name;
答案 2 :(得分:2)
当你声明char name []时,你需要给它一个数组的长度,如果它是静态的。否则,将其声明为指针,以便稍后可以动态创建数组。
结构需要准确知道它的大小,所以你不能在其中包含一个未知大小的数组。
答案 3 :(得分:0)
例如
struct stu
{
int num;
char name[20];
char sex;
float score;
};