Инициализация члена класса в C ++ - PullRequest
0 голосов
/ 19 мая 2018

У меня есть класс, в котором я хочу создать цепочку битов из библиотеки boost как публичного члена этого класса.Но я получаю много разных ошибок, которые я не понимаю и хочу решить.Следующий код компилируется без ошибок.Я знаю, что биты не случайны, но это пока не имеет значения.

#include <boost/dynamic_bitset.hpp>
class individual{
public: 
    individual(uint32_t bitStringLength):
    bitStringLength_(bitStringLength){}

    void createRandomIndividual(){
        boost::dynamic_bitset<> gene_(bitStringLength_);

        return;
    }

private:
    uint32_t bitStringLength_;
};

Но теперь, если я изменю свой код на

class individual{
public: 
    individual(uint32_t bitStringLength):
    bitStringLength_(bitStringLength){}

    boost::dynamic_bitset<> gene_(bitStringLength_);

private:
    uint32_t bitStringLength_;
};

, мой код не будет компилироваться иЯ получаю ошибку:

‘bitStringLength_’ has not been declared boost::dynamic_bitset<> gene_(bitStringLength_);

Я не понимаю, почему мой код дает мне эту ошибку.Почему я не могу создать свою цепочку битов таким образом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...