Есть ли способ анализа необязательных аргументов функции на C++?C++

Программы на C++. Форум разработчиков
Ответить
Гость
 Есть ли способ анализа необязательных аргументов функции на C++?

Сообщение Гость »


Цель состоит в том, чтобы преобразовать функцию обратного вызова в ROS следующим образом:

Код: Выделить всё

void imageCallback(const sensor_msgs::ImageConstPtr &msg)
{
try
{
cv::Mat im = cv_bridge::toCvShare(msg, "rgb8")->image;
}
catch (cv_bridge::Exception &e)
{
ROS_ERROR("Could not convert from '%s' to 'rgb8'.", msg->encoding.c_str());
}
}

int main()
{
//...
image_transport::Subscriber subIm = it.subscribe("dvs_rendering", 1, imageCallback);
//...
}
To this:

Код: Выделить всё

void imageCallback(const sensor_msgs::ImageConstPtr &msg, cv::Mat im2)
{
try
{
im2 = cv_bridge::toCvCopy(msg, "rgb8")->image; // This is where I add my data in the picture
cv::Mat im = cv_bridge::toCvShare(msg, "rgb8")->image;
}
catch (cv_bridge::Exception &e)
{
ROS_ERROR("Could not convert from '%s' to 'rgb8'.", msg->encoding.c_str());
}
}

int main()
{
//...
image_transport::Subscriber subIm = it.subscribe("dvs_rendering", 1, imageCallback(_,im2));
//...
}
This is so that I can use the cv::Mat image afterwards.
The names of the functions are indicative and they have no intention of defining exactly my case.
All I want to know is if I can parse selectively the arguments in the function.
Example:

Код: Выделить всё

int functionToCall(int &a, int &b)
{
int a += b;
// ..
return a;
}

int main()
{
int num1 = 1;
int num2 = functionToCall(_, num1);
return 0;
}


Источник: https://stackoverflow.com/questions/781 ... ction-in-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»