Функция вектора возвращаемого типа и класса enum - PullRequest
0 голосов
/ 18 апреля 2020
enum class State {kEmpty, kObstacle};

Для этого класса перечисления, что означает использование State в качестве возвращаемого типа в векторе. Если функция должна возвращать вектор.

vector<State> ParseLine(string line) {
    istringstream sline(line);
    int n;
    char c;
    // TODO: Change the variable type for row
    // to be a vector<State>
    vector<State> row;
    while (sline >> n >> c && c == ',') {
      // TODO: Modify the line below to push_back
      // a State::kEmpty if n is 0, and push_back
      // a State::kObstacle otherwise.
      if(n==0)
      row.push_back(State::kEmpty);
      else 
        row.push_back(State::kObstacle);
    }
    return row;
}

Как, например, здесь функция Parse line возвращает векторную величину, которая в порядке. Но почему и когда мы должны упоминать перечислимый класс (State) в векторном типе возвращаемого значения функции, подобном этому

vector<***State***> ParseLine(string line)

В каких условиях мы должны использовать объект перечисления в векторе в качестве возвращаемого типа функций.

...