为结构变量</type>创建vector <type>类型的对象

时间:2014-09-11 00:16:19

标签: c++ vector

我得到了一个带有两个变量的结构,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]时,它抛出一个错误:期望一个类型说明符。我该如何解决呢

2 个答案:

答案 0 :(得分:1)

正如你所写的那样:

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

答案 1 :(得分: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

我认为拥有一个员工结构并创建它们的列表更有意义,但我不知道你打算如何使用它。