std::vector<bool>shot; for(int j = 0; j < 5; j++) shot[j]=1
时间: 2023-06-27 12:03:18 浏览: 202
利用C++实现从std::string类型到bool型的转换
5星 · 资源好评率100%
这段代码有一个错误,因为 `std::vector<bool>` 是一个特化的容器类。它使用了位压缩技术,每个元素只占用 1 位空间。因此,你不能直接通过 `(int)` 或 `[]` 运算符来访问其中的元素。
如果你想要创建一个长度为 5 的 `std::vector<bool>`,并将其所有元素设置为 1,可以这样写:
```cpp
std::vector<bool> shot(5, true);
```
这里使用了 `std::vector` 的构造函数,第一个参数是容器的大小,第二个参数是每个元素的初始值。在这个例子中,容器的大小为 5,每个元素的初始值为 `true`。
阅读全文