常量表达式参数

时间:2015-11-13 05:28:14

标签: c++ bitset constant-expression

我有一个创建std::bitset的函数,其长度是一个常量函数参数。它不起作用,因为常量不是“整数常量表达式”。我有什么方法可以做到这一点吗?

供参考:

void Foo(const std::string &data, const unsigned int size) {
    std::bitset<size> Bar(data);
    // Do something
    return;
}

1 个答案:

答案 0 :(得分:2)

std::bitset的大小需要在编译时放大。您可以使足够大(如果您知道可能需要的最大尺寸)或使用其他替代方法,例如Igor Tandetnik建议的boost::dynamic_bitset