【发布时间】:2014-07-31 08:38:19
【问题描述】:
我正在使用这个例子来初始化布尔向量:
#include <iostream>
#include <map>
#include <vector>
using namespace std;
int main() {
map<int, vector<bool> > myMap;
vector<bool> one {true, true, false};
myMap[2] = one;
cout << myMap[2][0] << endl;
cout << myMap[2][1] << endl;
cout << myMap[2][2] << endl;
return 0;
}
我在这段代码中所做的唯一更改是使用 std::vector 而不是向量,我现在有了:
std::map<int, std::vector<bool> > m_links;
std::vector<bool> m_allFalse {false, false, false, false, false};
它告诉我在m_allFalse 之后使用;。我怎样才能摆脱这个错误?
我使用的是 intel 编译器 14,但没有 c++11。
【问题讨论】:
-
std::vector<bool> m_allFalse = {false, false, false, false, false}; -
您是否使用 C++11 编译器进行编译/提供了编译为 C++11 所需的编译器选项?
-
在 gcc 4.9 上都可以正常编译。发布一个完整的示例,显示错误消息、确切的错误消息、您的编译器版本以及您的编译方式。
-
检查通用初始化更新