现象 在ros源码中, 会发现如下代码 SubscribeOptions ops; ops.template init<M>(topic, queue_size, boost::bind(fp, obj, boost::placeholders::_1)); init()函数是ops对象中的一个模板函数, 该模板没有在对象创建的时候, 指定数据类型, 而是在ops对象调用模板函数init()的时候, 再指定数据类型M, 注意: 此时需要在调用的时候, 通过osp.template来实现。