спасибо @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)

Ответы на вопрос(1)

Ваш ответ на вопрос