我知道这个问题已经被问过很多次了,但我仍然卡住了。我以为我明白这个错误是什么了,但显然我不明白。所以,我得到的错误是一个非静态成员引用 m...
我知道这个问题已经被问过很多次了,但我仍然卡住了。我以为我明白这个错误是什么了,但显然我不明白。
所以我得到的错误是
a nonstatic member reference must be relative to a specific object
我的代码是:
class theTranslator {
public:
ros::NodeHandle nh;
ros::Publisher pub = nh.advertise<sensor_msgs::Image>("camera/depth/image_raw", 100);
static void getMessage(const sensor_msgs::Image::ConstPtr& recMmsg) {
ROS_INFO( "I heard message" );
pub.publish(recMmsg); //*** ERROR IS HERE ***
}
};
由于 是 pub
与 属于同一类的一部分 getMessage()
,因此它不应该起作用吗?如何让 static
成员函数使用同一类的变量成员?
PS 这是在 ROS (机器人操作系统)中完成的,但我相信这是一个 C++ 错误(与 ROS 无关)。
当两个成员都在同一个类中时,出现错误“非静态成员引用必须相对于特定对象”
下载声明:
本站所有软件和资料均为软件作者提供或网友推荐发布而来,仅供学习和研究使用,不得用于任何商业用途。如本站不慎侵犯你的版权请联系我,我将及时处理,并撤下相关内容!