获得徽章 0
赞了这篇沸点
c++ map容器请教
我实现的定义如下:
class MavlinkGimbalControl
{
public:
MavlinkGimbalControl() = default;
MavlinkGimbalControl(mavlink_system_t system);
~MavlinkGimbalControl();
}
std::unordered_map<uint8_t, MavlinkGimbalControl> m_gimbal_ctrl;
然后插入数据:m_gimbal_ctrl.insert(std::make_pair(msg->compid, MavlinkGimbalControl({.sysid = msg->sysid, .compid = msg->compid})));
编译报错:/work/modules/psdk_lib/modules/hlink/src/mavlink_gimbal_manager.cpp:207:73: error: no matching function for call to 'std::unordered_map<unsigned char, MavlinkGimbalControl>::insert(std::pair<unsigned char, MavlinkGimbalControl>)'
207 | MavlinkGimbalControl({.sysid = msg->sysid, .compid = msg->compid})));
我尝试了各种方法,都无法正常编译通过,提示insert数据类型不匹配,使用emplace尝试也不成功,有哪位大佬知道是什么原因造成的吗?
我实现的定义如下:
class MavlinkGimbalControl
{
public:
MavlinkGimbalControl() = default;
MavlinkGimbalControl(mavlink_system_t system);
~MavlinkGimbalControl();
}
std::unordered_map<uint8_t, MavlinkGimbalControl> m_gimbal_ctrl;
然后插入数据:m_gimbal_ctrl.insert(std::make_pair(msg->compid, MavlinkGimbalControl({.sysid = msg->sysid, .compid = msg->compid})));
编译报错:/work/modules/psdk_lib/modules/hlink/src/mavlink_gimbal_manager.cpp:207:73: error: no matching function for call to 'std::unordered_map<unsigned char, MavlinkGimbalControl>::insert(std::pair<unsigned char, MavlinkGimbalControl>)'
207 | MavlinkGimbalControl({.sysid = msg->sysid, .compid = msg->compid})));
我尝试了各种方法,都无法正常编译通过,提示insert数据类型不匹配,使用emplace尝试也不成功,有哪位大佬知道是什么原因造成的吗?
展开
评论
点赞
#新人报道# 伟大的工程师们,有没有好的用于封装音视频的开源软件,要便于集成到嵌入式设备中的,不能像ffmpeg那么大,要能支持封装主流的mp4,ts等,支持封装和解封装。求推荐
评论
1
![[流泪]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_6.dde0d83.png)