所以基本上我想将std::bitset<128>
存储在std::vector<>
。
我试过这个:
std::vector<std::bitset<128>> myVector;
但编译器抱怨模板参数无效。我该如何解决这个问题,是否可以将此类型添加到typedef
中供以后使用?
编辑:的确,我的编译器似乎使用C++03
作为默认标准,我必须使用vector<bitset<128> >
来处理当前设置。
答案 0 :(得分:3)
是的,即使使用typedef
也可以。
但请注意,您需要c ++ 11(-std = c ++ 11)才能在声明中使用两个右邻角括号。
#include <vector>
#include <bitset>
int main() {
typedef std::vector<std::bitset<128>> Bitset_vec;
Bitset_vec v;
return 0;
}
如果您不支持c ++ 11,请在括号之间添加空格:
typedef std::vector<std::bitset<128> > Bitset_vec;
Live example here(注意-std = c ++ 11选项)