【问题标题】:How to introduce dynamic_bitset in a struct如何在结构中引入 dynamic_bitset
【发布时间】:2014-11-07 10:28:51
【问题描述】:

我尝试在结构中使用dynamic_bitsetu 的大小取决于输入。

#include <boost/dynamic_bitset.hpp>

struct myStruct
{
    double x;
    boost::dynamic_bitset<> u();
    myStruct( double a, boost::dynamic_bitset<>& v ) : x( a ), u( v ) {}
    {
        // some lines here
    }
};

但是,我在编译代码时收到以下错误:

error: class ‘myStruct’ does not have any field named ‘u’

我该如何解决这个问题?提前谢谢你。

【问题讨论】:

    标签: c++ struct boost-dynamic-bitset


    【解决方案1】:

    您已将 u 声明为函数原型(即返回 dynamic_bitset 的函数)而不是成员变量。

    变化:

    boost::dynamic_bitset<> u();
    

    到:

    boost::dynamic_bitset<> u;
    

    【讨论】:

    • 谢谢@Paul-R,这解决了我的问题。现在,编译后,经过一些迭代,它会给出错误boost::dynamic_bitset&lt;Block, Allocator&gt;::~dynamic_bitset() [with Block = long unsigned int; Allocator = std::allocator&lt;long unsigned int&gt;]: Assertion 'm_check_invariants()' failed. Aborted (core dumped)。你有什么想法吗?
    • 抱歉 - 我对 boost::dynamic_bitset 不太熟悉 - 听起来可能内部有问题 - 也许尝试在 valgrind 下运行?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-14
    • 2015-09-09
    • 2013-10-20
    相关资源
    最近更新 更多