создавать объекты типа vector <type> для структурных переменных

0

Я получил структуру с двумя переменными, char first_name и last_name. Как я могу объявить first_name и last_name как объекты типа vector<char>

 struct employee{
    char first_name[50];
    char last_name[50];
  }

когда я использовал std :: vector first_name [50], он бросает ошибку: ожидается спецификатор типа. Как его разрешить

  • 1
    Почему вы хотите это сделать? Почему бы не использовать вместо него std::string ?
Теги:
vector

2 ответа

1
Лучший ответ

если вы хотите иметь список сотрудников как вектор:

struct employee{
  std::string first_name;
  std::string last_names;
};

std::vector<employee> myvec;
employee e1;
e1.first_name = "tom";
e1.last_name = "joe";
myvec.push_back(e1);

std::cout << myvec[0].first_name << std::endl; // tom
std::cout << myvec[0].last_name << std::endl; // joe

Теперь, если вам нужен список первых имен и фамилий в виде строк, в структуре EMPLOYEES:

    struct employees{
      std::vector<std::string> first_names;
      std::vector<std::string> last_name;
    };

    std::string firstname = "tom";
    std::string lastname = "joe";

    employees e;
    e.first_names.push_back(firstname);
    e.last_names.push_back(lastname);

    std::cout << e.first_names[0] << std::endl; // tom
    std::cout << e.last_names[0] << std::endl;  // joe

Я думаю, что наличие структуры сотрудника и создание списка из них имеет смысл, но я не знаю, как вы собираетесь его использовать.

1

Именно так, как вы его написали:

struct employee{
    std::vector<char> first_name;
    std::vector<char> last_name;
};

Ещё вопросы

Сообщество Overcoder
Наверх
Меню