这是我到目前为止所做的,但是'是真的'有下划线并说: "没有合适的构造函数可以转换为" bool"到" std :: vector>"
vector<bool> choice[512] = {true};
答案 0 :(得分:2)
我猜你想要1个长度为512的向量,而不是长度为1的512个向量,就像你的代码当前那样。如果是,那么:
vector<bool> choice(512, true);
注意:vector<bool>
是一个专门化,每个条目使用1位存储空间,因此一些典型的vector
操作无法正常工作。有些人建议完全避免它。
如果您不需要运行时大小调整,则可以选择以下方法:
std::bitset<512> choice;
choice.set();
答案 1 :(得分:1)
答案 2 :(得分:0)
vector<bool> choice(NUM_ELEMS, true);
将初始化NUM_ELEM个实例为true的向量。在您的情况下,将其替换为512。
请参阅http://www.cplusplus.com/reference/vector/vector/vector/ fill
构造函数以供参考。