我曾经使用bitset::at(x)
这个健壮的运行时检查版本来检查是否设置了bitset<>
中的任何位。但是在VS2015中,我收到了这个错误:
std::bitset<6> bTestFlag;
int b = bTestFlag.at(3); // Error C2039 'at': is not a member of 'std::bitset<6>'
为什么它在VS2015中消失了?
答案 0 :(得分:5)
您可能正在寻找std::bitset::test()
。这是检查一点的正确成员函数,但如果提供的索引不是有效位置则抛出std::out_of_range
。从来没有at()
。