C++ reverse_iterator 错误
C++ reverse_iterator error
我正在尝试为我的向量使用 reverse_iterator,显然这行代码导致了 3 个错误。
#include <iostream>
#include <vector>
using namespace std;
vector<string> list={};
vector<string> reverse_iterator rit = list.rbegin();
错误:
- 应为“;”
- Error C2146 语法错误:缺少“;”在标识符 'rit'
之前
- 错误 C2065 'rit': 未声明的标识符
我正在使用 Visual Studio 2015 控制台应用程序。
你应该先定义你的向量变量:
std::vector<string> mylist (5);
然后使用 reverse_iterator :
std::vector<string>::reverse_iterator rit = mylist.rbegin();
更新:
如果你输入 using namespace std;
那么当你编译你的代码时
你会发现list={}
的问题
因为list
在namespace std
中是reservedclass所以在定义[=17时不能作为变量名使用=].
要解决这个问题,你可以简单地给它起另一个名字,比如 mylist
。
另一种方式:
如果你不放 using namespace std;
将向量声明为 list
没问题
您可以按此方式完成,它将按您预期的方式编译和工作:
std::vector<std::string> list={};
std::vector<std::string>::reverse_iterator rit = list.rbegin();
希望这能帮助您解决错误。
我正在尝试为我的向量使用 reverse_iterator,显然这行代码导致了 3 个错误。
#include <iostream>
#include <vector>
using namespace std;
vector<string> list={};
vector<string> reverse_iterator rit = list.rbegin();
错误:
- 应为“;”
- Error C2146 语法错误:缺少“;”在标识符 'rit' 之前
- 错误 C2065 'rit': 未声明的标识符
我正在使用 Visual Studio 2015 控制台应用程序。
你应该先定义你的向量变量:
std::vector<string> mylist (5);
然后使用 reverse_iterator :
std::vector<string>::reverse_iterator rit = mylist.rbegin();
更新:
如果你输入 using namespace std;
那么当你编译你的代码时
你会发现list={}
因为list
在namespace std
中是reservedclass所以在定义[=17时不能作为变量名使用=].
要解决这个问题,你可以简单地给它起另一个名字,比如 mylist
。
另一种方式:
如果你不放 using namespace std;
将向量声明为 list
您可以按此方式完成,它将按您预期的方式编译和工作:
std::vector<std::string> list={};
std::vector<std::string>::reverse_iterator rit = list.rbegin();
希望这能帮助您解决错误。