常量表达式参数
Constant Expression Parameters
我有一个创建 std::bitset
的函数,其长度是一个常量函数参数。它不起作用,因为常量不是 "integral constant expression"。有什么方法可以使它工作吗?
供参考:
void Foo(const std::string &data, const unsigned int size) {
std::bitset<size> Bar(data);
// Do something
return;
}
std::bitset
的大小需要在编译时评估。您可以使它足够大(如果您知道您可能需要的最大尺寸)或使用其他替代方案,如 Igor Tandetnik 建议的 boost::dynamic_bitset
。
我有一个创建 std::bitset
的函数,其长度是一个常量函数参数。它不起作用,因为常量不是 "integral constant expression"。有什么方法可以使它工作吗?
供参考:
void Foo(const std::string &data, const unsigned int size) {
std::bitset<size> Bar(data);
// Do something
return;
}
std::bitset
的大小需要在编译时评估。您可以使它足够大(如果您知道您可能需要的最大尺寸)或使用其他替代方案,如 Igor Tandetnik 建议的 boost::dynamic_bitset
。