Как сделать параметр указателя функции неактивным по умолчанию? - PullRequest
0 голосов
/ 20 декабря 2018

Учитывая мою функцию, которая принимает указатель функции в качестве параметра

void call_func(std::function<void()>func) {
    func();
}

Самый прямой путь - это что-то вроде

void no_op() {
    ;
}

void call_func(std::function<void()>func = no_op) {
    func();
}

Есть ли более чистый способ сделать это так, чтобы яможно избежать создания буквально бесполезной функции no_op?

1 Ответ

0 голосов
/ 20 декабря 2018

Вы можете использовать пустую лямбду , которая также может быть обернута в std::function.например,

void call_func(std::function<void()>func = []{}) {
    func();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...