gpt4 book ai didi

c++ - boost dynamic_bitset 的编译错误

转载 作者:行者123 更新时间:2023-11-30 04:32:22 27 4
gpt4 key购买 nike

我正在尝试使用 boost::dynamic_bitset,如下所示:

#include <boost/dynamic_bitset.hpp>

class Bitmap
{
public:
Bitmap(std::size_t size = _size);
void setBit(int pos);
void clearBit(int pos);
bool get(int pos);
void resize(int size);

private:
boost::dynamic_bitset<> _bitset(8);
static const std::size_t _size;
};

我在声明 dynamic_bitset 时遇到以下错误:

test1.cpp:14: error: expected identifier before numeric constant
test1.cpp:14: error: expected ‘,’ or ‘...’ before numeric constant

Boost 文档给出了 example在这里,编译绝对没问题。有人可以指出这里的问题吗?

我的编译器是 g++ 版本 4.4.5。

最佳答案

不同之处在于您正在尝试初始化成员变量,而不是“独立”变量。

要么使用 -std=c++0x 运行(见帖子末尾的评论)要么做:

// in class definition:
boost::dynamic_bitset<> _bitset;

// in constructor:
Bitmap(/* params */) : _bitset(8) { /* rest of code */ }

C++11 中引入了按照您尝试的方式初始化成员。如果我没记错的话,g++ 4.4.5 仍然缺少该功能。

关于c++ - boost dynamic_bitset 的编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7738314/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com