我有一个带有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
,也会遇到相同的错误。
我在做什么错了?