Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何将固定大小的boost循环缓冲区定义为类成员?_C++_Boost - Fatal编程技术网

C++ 如何将固定大小的boost循环缓冲区定义为类成员?

C++ 如何将固定大小的boost循环缓冲区定义为类成员?,c++,boost,C++,Boost,根据boost的教程,要定义固定大小的循环缓冲区,我们可以执行以下操作: boost::circular_buffer <int> aspBuffer(3); boost::循环缓冲区aspBuffer(3); 然而,当我将其作为私有类成员时,会发生错误: 数字常量前应为标识符 什么时候会发生这种情况?我应该如何正确地进行? 谢谢 您需要在类的构造函数中初始化成员 class example { boost::circular_buffer<int> aspBuf

根据boost的教程,要定义固定大小的循环缓冲区,我们可以执行以下操作:

boost::circular_buffer <int> aspBuffer(3);
boost::循环缓冲区aspBuffer(3);
然而,当我将其作为私有类成员时,会发生错误: 数字常量前应为标识符

什么时候会发生这种情况?我应该如何正确地进行?
谢谢

您需要在类的构造函数中初始化成员

class example {
  boost::circular_buffer<int> aspBuffer;

  public:
  example() : aspBuffer(3) {}
};
类示例{
boost::循环缓冲区aspBuffer;
公众:
示例():aspBuffer(3){}
};

非常感谢!我刚刚检查了文档,我可以在构造函数中使用aspBuffer.set_容量(3)吗?它们的作用一样吗?@SummerFang,你可以。但您必须在构造函数体中执行此操作,而不是在成员初始值设定项列表中。