gpt4 book ai didi

c++ - boost 无锁使用用户定义类型

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:24:18 24 4
gpt4 key购买 nike

我尝试使用 boost 无锁库。但是,出现错误invalid application of ‘sizeof’ to incomplete type ‘boost::STATIC_ASSERTION_FAILURE<false>’当我将模板参数设置为用户定义类型时。
有办法解决吗?

typedef struct TMsgBuffer
{
char m_puBuffer[512];
size_t m_iBufferLen;
} tMsgBuffer;

boost::lockfree::fifo<tMsgBuffer> fifo;

最佳答案

STATIC_ASSERTION_FAILURE 源自 BOOST_STATIC_ASSERT。我怀疑 Boost.Lockfree 对 fifo 的元素有一些大小限制。使用较小的 UDT 再试一次。

Lockfree 也可能只适用于标准类型,因此不接受任何 UDT。如果是这种情况,您需要存储一个指针而不是实际结构。

关于c++ - boost 无锁使用用户定义类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7989738/

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