【发布时间】:2017-08-02 08:31:03
【问题描述】:
我正在尝试对我的向量使用 reverse_iterator,显然这行代码会导致 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 控制台应用程序。
【问题讨论】:
-
试试
vector<string>::reverse_iterator rit = list.rbegin();。 -
这里是使用 C++11 中引入的类型推断功能的一个非常好的地方:
auto rit = list.rbegin(); -
@songyuanyao 当我添加两个冒号时,它又打印了 25 个错误
-
顺便提一下,当拥有
using namespace std;并使用诸如list之类的通用名称时要小心。请记住,有一个std::list类,所以如果你包含<list>,你会遇到命名冲突。另外,调用向量list有点误导,不是吗? -
std::list 是 C++ 中的保留类,因此不能将其用作变量名
标签: c++ visual-studio visual-c++ vector reverse-iterator