Ошибка C ++, почему не выводится этот вектор? - PullRequest
0 голосов
/ 03 октября 2019

Я пытаюсь вывести вектор пути, но он не будет выводить ...

int main (){
    vector<string> path; {"John", "Dave", "Peter", "Charlie", "Michael";};
    sort(path.begin(), path.end());
    cout<<path[5]<<endl;
}

Я хочу увидеть

Charlie 
Dave 
John 
Michael 
Peter

1 Ответ

3 голосов
/ 03 октября 2019

У вас слишком много точек с запятой, попробуйте этот синтаксис вместо

vector<string> path {"John", "Dave", "Peter", "Charlie", "Michael"};

Подробнее о синтаксисе списка инициализации здесь: https://en.cppreference.com/w/cpp/language/list_initialization

Вам не нужна точка с запятой после идентификатора,ни точка с запятой в списке {}, но только одна в конце оператора.

Кроме того, path[5] будет попыткой использовать шестой элемент, но вы только попытались определить 5.

  vector<string> path {"John", "Dave", "Peter", "Charlie", "Michael"};
  sort(path.begin(), path.end());
  cout<< path[4] <<endl;

Вывод:

Peter
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...