C ++ reverse_iterator错误

时间:2017-03-12 07:10:32

标签: c++ visual-studio visual-c++ vector reverse-iterator

我正在尝试使用reverse_iterator作为我的向量,显然这行代码导致3个错误。

#include <iostream>    
#include <vector>
using namespace std;
vector<string> list={};
vector<string> reverse_iterator rit = list.rbegin();

错误:

  1. 期待';'
  2. 错误C2146语法错误:缺少';'在标识符'rit'之前
  3. 错误C2065'rit':未声明的标识符
  4. 我正在使用Visual Studio 2015控制台应用程序。

1 个答案:

答案 0 :(得分:1)

您应首先定义矢量变量:

n

然后使用reverse_iterator:

std::vector<string> mylist (5);

<强>更新

如果您在编译代码时放置std::vector<string>::reverse_iterator rit = mylist.rbegin();

你会发现using namespace std;

的问题

因为list={}list保留类,所以在定义namespace std时,您无法将其用作变量名称。

要解决问题,您只需给它另一个名称,如vector

另一种方式:

如果你不放mylist

将矢量声明为using namespace std;

没问题

你可以这样做,它将按照你的预期编译和工作:

list

我希望这可以帮助您解决错误。