ros中msg文件的bool类型并不会生成bool类型变量

在C++中,使用std::cout尝试输出由msg文件定义的bool类型成员变量时,发现输出结果异常,原因是bool被转换为uint8_t类型,导致输出不正确。尽管如此,该变量仍可正常作为bool使用。

今天在调试的过程中,我用std::cout输出一个用msg文件定义的类型的成员变量,在msg中定义是bool类型,但是输出的时候发现不太对,输出不了正确的东西,查看了一下自动生成的源码,发现它把bool类型变成了uint8_t,应该是cout不能输出uint8_t的内容,所以会输出奇怪的东西。
下图第一行为该变量为0时输出的东西,是一个空行,第二行为1时输出的东西,是一个长方形包裹着奇怪东西的图案。

在这里插入图片描述

但是这个变量在使用上依然可以当作bool使用,只不过是输出的时候输出不了而已

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值