ROS: Subscribe-Funktion erkennt meine Callback-Methode nicht
-
13-11-2019 - |
Frage
Ich erhalte diesen Fehler "Fehler: Keine Übereinstimmungsfunktion für Anruf an ‘ros::NodeHandle::subscribe(const char [24], int, <unresolved overloaded function type>)’
Dies ist meine Rückruffunktion in meiner Klasse BangBangControlUnit
// on message reciept: 'current_maintained_temp'
void current_maintained_temp_callback(const std_msgs::Int32::ConstPtr& msg){
temp_to_maintain = msg->data;
}
und so benutze ich, wie ich in meiner Hauptfunktion abonnieren kann
// subscribe to 'current_maintained_temp'
ros::Subscriber current_maintained_temp_sub = n.subscribe("current_maintained_temp", 1000, control.current_maintained_temp_callback);
Kann mir jemand sagen, was ich falsch gemacht habe?
Lösung
Die richtige Signatur zum Erstellen eines Teilnehmers mit einer Klassenmethode als Rückruf ist wie folgt: generasacodicetagpre.
In Ihrem Fall sollten Sie verwenden: generasacodicetagpre.
Sie können mehr über Verlage und Abonnenten in C ++ hier .