спасибо @Mark B, взгляните на правку, но посмотрите, что вы об этом думаете
могу понять, делаю ли я здесь что-то не так, надеюсь, кто-то здесь сможет меня просветить.
У меня есть классFlags
, это очень упрощенная версия, но я объявляю битсет
class Flags
{
private:
//List of 8 bits
std::bitset<8> _P;
public:
Flags();
}
На моем конструкторе я инициализирую его как
Flags::Flags()
: _P(32ul)
{}
Но он не скомпилируется и выдает ошибку
ошибка C2668: 'std :: bitset <_Bits> :: bitset': неоднозначный вызов перегруженной функции
Это скомпилировано в VS2010 SP1 64 бит, но как 32-битная программа
РЕДАКТИРОВАТЬ
Принятый ответ для вышеупомянутого, но в качестве примечания может кто-нибудь объяснить, почему при использовании конструктора по умолчанию (который должен инициализировать их все в нули), они не все установлены в нули?
_p.to_ulong()
возвращает 1390560944 и выглядит _p
[8](0,0,0,0,1,1,0,1)