我试图在使用库(UHD)时将指向基类的共享指针转换为指向模板化派生类的共享指针。特别是,我获得了一个指向类的共享指针filter_info_base
(此处),我想将其转换为指向digital_filter_base
类的指针(此处),因为这将允许我通过适当的吸气剂。
我已经在网上搜索了几个小时,但我获得的所有解决方案都不起作用。特别是,答案似乎是“使用std::dynamic_pointer_cast
”,但如果我这样做
uhd::digital_filter_base<int16_t>::sptr p = std::dynamic_pointer_cast<uhd::digital_filter_base<int16_t>>(a_rx_FIR1);
(a_rx_FIR1
基类的 sptr 在哪里)我从 GCC 得到:
error: no matching function for call to ‘dynamic_pointer_cast(uhd::filter_info_base::sptr&)’
uhd::digital_filter_base<int16_t>::sptr p = std::dynamic_pointer_cast<uhd::digital_filter_base<int16_t>>(a_rx_FIR1);
有没有人知道如何做这个演员?
提前致谢,祝您有美好的一天!
相对湿度