正在尝试为编写器DDS_HISTORY_KEEP_ALL、DDS_DURABILITY_TRANSIENT_LOCAL、DDS_RELIABILITY_RELIABLE设置以下QOS
我正在尝试在dds publisher中设置数据编写器的Qos
dds::domain::DomainParticipant local_participant(domain::default_id());
dds::pub::Publisher local_publisher(local_participant);
dds::topic::Topic<DDSData::myData> topicMyData(local_participant, "DDS");
dds::pub::qos::DataWriterQos QosW( dds_history_kind(DDS_HISTORY_KEEP_ALL),
dds_durability_kind(DDS_DURABILITY_TRANSIENT_LOCAL),
dds_reliability_kind(DDS_RELIABILITY_RELIABLE));
m_ReplyDataWriter = std::make_shared < dds::pub::DataWriter<DDSData::myData>>(local_publisher, topicMyData, QosW, NULL, ::dds::core::status::StatusMask::none());具有服务质量的DataWriter构造函数
DataWriter(const dds::pub::Publisher& pub,
const ::dds::topic::Topic<T>& topic,
const dds::pub::qos::DataWriterQos& qos,
dds::pub::DataWriterListener<T>* listener = NULL,
const dds::core::status::StatusMask& mask = ::dds::core::status::StatusMask::none());它不工作,我在这里错过了什么?
Error C2664'dds::pub::DataWriter<DDSData::myData,dds::pub::detail::DataWriter>::DataWriter(const dds::pub::DataWriter<DDSData::myData,dds::pub::detail::DataWriter> &)': cannot convert argument 3 from '_Ty' to 'const dds::pub::qos::DataWriterQos &' 发布于 2021-04-10 11:51:02
错误是因为QoS设置不正确,您可以尝试下面的代码,
使用您自己的QoS创建DataWriter
dds::domain::DomainParticipant local_participant(domain::default_id());
dds::pub::Publisher local_publisher(local_participant);
dds::topic::Topic<DDSData::myData> topicMyData(local_participant, "DDS");
dds::pub::qos::DataWriterQos dwqos = topicMyData.qos();
dwqos << dds_history_kind(DDS_HISTORY_KEEP_ALL)
<< dds_durability_kind(DDS_DURABILITY_TRANSIENT_LOCAL)
<< dds_reliability_kind(DDS_RELIABILITY_RELIABLE);
dds::pub::DataWriter<Foo::Type> writer2(local_publisher, topicMyData, dwqos);
//m_ReplyDataWriter = std::make_shared < dds::pub::DataWriter<DDSData::myData>>(local_publisher, topicMyData, dwqos, NULL, ::dds::core::status::StatusMask::none());https://stackoverflow.com/questions/67016991
复制相似问题