Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++反迭误差_C++_Visual Studio_Visual C++_Vector_Reverse Iterator - Fatal编程技术网

C++反迭误差

C++反迭误差,c++,visual-studio,visual-c++,vector,reverse-iterator,C++,Visual Studio,Visual C++,Vector,Reverse Iterator,我试图对向量使用反向迭代器,显然这行代码导致了3个错误 #include <iostream> #include <vector> using namespace std; vector<string> list={}; vector<string> reverse_iterator rit = list.rbegin(); 错误: 应为“;” 错误C2146语法错误:缺少“;”在标识符“rit”之前 错误C2065“rit”:未声明的标

我试图对向量使用反向迭代器,显然这行代码导致了3个错误

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

应为“;” 错误C2146语法错误:缺少“;”在标识符“rit”之前 错误C2065“rit”:未声明的标识符
我正在使用Visual Studio 2015控制台应用程序。

您应该首先定义向量变量:

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

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

尝试向量::反向迭代器rit=list.rbegin;。这是使用C++11中引入的类型推断功能的一个非常好的地方:auto rit=list.rbegin@宋元耀我加上两个冒号时,它又印了25个错误顺便说一句,使用名称空间std时要小心;和使用通用名称,如列表。请记住,有一个std::list类,因此如果包含,将产生命名冲突。另外,调用一个向量列表有点误导,不是吗?STD::列表是C++中的预留类,所以不能用它作为变量NeNestD::列表是与STD中的任何其他东西一样保留的,这也是为什么不使用命名空间STD的原因之一。删除使用std的名称空间;列表很好。@ChristianHackl你是对的,谢谢你的留言我已经更新了我的答案,如果你觉得有用,请投赞成票
std::vector<string>::reverse_iterator rit = mylist.rbegin();
  std::vector<std::string> list={};
  std::vector<std::string>::reverse_iterator rit = list.rbegin();