我有一个类,我希望从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_);
我不明白为什么我的代码会给我这个错误。为什么我不能以这种方式生成我的位串?