为什么lldb抱怨我的班级需要转换运算符,即使它有一个?

时间:2019-07-08 19:40:16

标签: lldb

我有一个带有uint32_t转换运算符的模板类

template<uint32_t NumBytes>
struct packed_uint
{
    ...
    inline operator uint32_t() const
    {
        switch (NumBytes)
        {
           ...
        }
    }
};

当我在lldb中使用命令p (uint32_t)(a_packed_uint)时,它会说

error: cannot convert 'const a_packed_uint<4>' to 'uint32_t' (aka 'unsigned int') without a conversion operator

使用static_cast时,如果尝试转换为const uint32_t,也会遇到相同的错误。

我在做什么错了?

0 个答案:

没有答案