无法在结构中包含circular_buffer
unable to include circular_buffer in structure
我是CPP的新手。我希望将 "boost::circular_buffer histpos(5(;" 与 5 个空格一起存储 cpp 结构中的 5 个元素作为成员。
我试试这个:
typedef struct histposRecorder{
int32_t track_id;
boost::circular_buffer<float> histpos(5);
}coRecord;
我收到此错误:
error: expected identifier before numeric constant
boost::circular_buffer<float> histpos(5);
error: expected ‘,’ or ‘...’ before numeric constant
这是我所指circular_buffer网站:https://www.boost.org/doc/libs/1_49_0/libs/circular_buffer/doc/circular_buffer.html
请告诉我如何解决它
我想把它放在结构中的原因是因为我会有很多不同的circular_buffer副本来存储不同对象的速度。
提前致谢
自 C++11 起,可以使用大括号(或等于(初始值设定项在类/结构定义中初始化成员:
#include <boost/circular_buffer.hpp>
struct coRecord {
int32_t track_id;
boost::circular_buffer<float> histpos {5};
};
尝试在其他地方进行初始化:
struct coRecord {
int32_t track_id;
boost::circular_buffer< float > buffer;
coRecord() : buffer(5) {}
};
在类定义中,只能声明成员变量,而不能初始化它们。相反,通过提供这样的默认构造函数,您仍然可以执行所需的初始化:
coRecord recorder; // automatically reserves 5 places in the buffer
相关文章:
- 如何"buffer" UNIX 信号
- 什么是 Direct3D 12.0 上的"Map Default Buffer"?
- VC++ wcscpy_s随机断言"Buffer is too small"
- 将uint8_t*buffer和size_tbufferlen从C++传递到C中的API函数的最佳方式是什么
- boost::asio::buffer 如何遍历字节
- 大约"circular reference",我用了weak_ptr但仍然发生内存泄漏
- 在 boost::<double>asio::buffer 中使用像 std::vector<std::complex> 这样的参数
- Cppcheck 静态代码分析器实际上可以检测到不太常见的警告(如 "Relative Path Traversal (CWE-23)" 或"Buffer Under-read(CWE-127)")吗
- tf2_ros::Buffer::canTransform() 为现有转换返回 False
- OpenCL/C++ - 返回一个 cl::Buffer 对象
- 如何在方法参数中使用boost :: asio :: buffer
- 尝试运行 NVIDIA FleX 时"buffer overflow detected"
- C++: buffer the cin istream
- 如何将 std::array 转换为 boost::asio::buffer
- 如何从节点本机插件正确创建Buffer对象
- Buffer.BlockCopy Array 2d c++ to C# 共享内存
- opencv imencode() buffer exception
- boost::asio::buffer与矢量结构
- boost::circular buffer等效于文件
- 执行boost::circular buffer确认自动弹出操作