Как определить структуру в C ++? - PullRequest
0 голосов
/ 01 февраля 2012

Я пытаюсь сделать программу расчета заработной платы на С ++.В начале моей программы мне нужно определить структуру с именем EmployeeT, которая будет хранить всю информацию о сотруднике вместе в одном блоке.

Затем я должен взять всю эту информацию и поместить ее в массив EmployeeT.структуры, называемые служащими.

Пока у меня есть это ...

typedef struct 
{
  char name[];
  char title;
  double gross;
  double tax;
  double net;
}  EmployeeT;

Итак, что я скучаю или делаю неправильно?

Спасибо, ребята

Ответы [ 4 ]

3 голосов
/ 01 февраля 2012

То, что у вас есть, хорошо, за исключением того, что если вы хотите использовать элемент гибкого массива (char name[]), оно должно быть последним полем в структуре.Вероятно, вам действительно нужен указатель (char *name) или реальный массив (char name[SOME_SIZE]).

2 голосов
/ 01 февраля 2012

Когда вы объявляете имя символа [], вам нужно указать его длину для массива, если он будет статическим. В противном случае, объявите его как указатель, чтобы вы могли динамически создать массив позже.

Структура должна точно знать, насколько большим она будет, поэтому в ней не может быть массива с неизвестным размером.

2 голосов
/ 01 февраля 2012

изменить имя персонажа [] на имя персонажа *.

при инициализации использования:

name = new name[SIZEOFARRAY];

и, когда оно вам больше не нужно, не забудьте удалить его:

delete [] name;
0 голосов
/ 01 февраля 2012

например

struct stu
{
int num;
char name[20];
char sex;
float score;
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...