我有一个创建std::bitset
的函数,其长度是一个常量函数参数。它不起作用,因为常量不是“整数常量表达式”。我有什么方法可以做到这一点吗?
供参考:
void Foo(const std::string &data, const unsigned int size) {
std::bitset<size> Bar(data);
// Do something
return;
}
答案 0 :(得分:2)
std::bitset
的大小需要在编译时放大。您可以使足够大(如果您知道可能需要的最大尺寸)或使用其他替代方法,例如Igor Tandetnik建议的boost::dynamic_bitset
。