此代码出错:
vector<vector<bool> > revealed(vector<bool>(10, false), vector<bool>(10,false));
我正在尝试定义一个2D布尔数组,默认情况下所有元素都为false。
错误是
.\stl_iterator_base_types.h|165|error: no type named 'iterator_category' in 'class std::vector<bool>'|
错误是指 stl_iterator_base_types.h的第165行
162 template<typename _Iterator>
163 struct iterator_traits
164 {
165 typedef typename _Iterator::iterator_category iterator_category;
166 typedef typename _Iterator::value_type value_type;
167 typedef typename _Iterator::difference_type difference_type;
168 typedef typename _Iterator::pointer pointer;
169 typedef typename _Iterator::reference reference;
170 };
顺便说一句,我使用Code :: Blocks(使用MinGW)作为我的IDE
答案 0 :(得分:3)
您可以按如下方式初始化这样的矢量
android
原因是您尝试用于java
的构造函数重载是
sample codes to change screensaver from an Android App
所以你可以看到第一个参数是计数,第二个参数是值。通过这个概念,你想要外部向量
std::vector<std::vector<bool>> revealed(10, std::vector<bool>(10, false));
表示第二个参数的方式是
std::vector
外部向量的第一个参数只是vector(size_type count, const T& value);
,因为您希望它包含10个具有10个vector(10, "vectors_of_length_10_wlth_all_false_values")
^
值的向量。