需要帮助宣布"转发声明"在c ++中

时间:2014-07-10 13:00:51

标签: c++ forward-declaration ros

我的前瞻声明如下:

class message_filters::Subscriber<sensor_msgs::Image>;
class message_filters::TimeSynchronizer<sensor_msgs::Image,sensor_msgs::Image>;

我使用上面而不是在标题中声明相同,因为我使用Qt4来构建GUI 并使用 Boost 库,其中使用了一些与 Boost 冲突的信号广告位库(因为它们还包含信号插槽)。

现在我收到以下错误消息

  

错误:'message_filters'尚未声明

我不明白问题是什么。请帮助我解决这个问题。

1 个答案:

答案 0 :(得分:2)

如果message_filters是命名空间,则必须转发声明订阅者:

namespace message_filters {
    class Subscriber<sensor_msgs::Image>;
    class TimeSynchronizer<sensor_msgs::Image,sensor_msgs::Image>;
}