C ++错误为什么此向量不输出?

时间:2019-10-03 00:36:52

标签: c++ string vector

我正在尝试输出路径矢量,但不会输出...

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 个答案:

答案 0 :(得分:4)

分号过多,请尝试使用以下语法

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