【发布时间】:2021-04-04 09:39:23
【问题描述】:
好的,所以我对 c++ 比较陌生,我正在尝试通过 youtube 教程和网站进行自学。我要做的是列出一个列表,然后在列表中添加内容。在我尝试在列表中获取某些内容之前,这一直很好。我收到错误 project.cpp:11:20: error: no match for 'operator[]' (操作数类型是 'std::__cxx11::list' 和 'int')。不知道为什么会这样。
这是我的代码
#include <iostream>
#include <list>
using namespace std;
int main(){
list <int> numbers;
for (int i = 0;i < 10; i++){
numbers.push_back(i);
}
cout << numbers[0];
return 0;
}
【问题讨论】:
-
std::list不是随机访问,因此它没有std::list::operator[]- 如果您想要随机访问,请改用std::vector。 -
list不提供运算符[]。编译器会准确地告诉你。也许您正在寻找vector? -
使用std::list front() b 获取列表的第一个元素(需要先检查它是否为空,否则可能会崩溃)
-
既然你是自学c++,那你最好多看点书,有需要的时候查一下en.cppreference.com/w。
标签: c++