РЕДАКТИРОВАТЬ : Извините, я задал этот вопрос без тщательного понимания ссылок ...
Кажется, я получаю эту ошибку при запуске этого кода ...
ошибка: неверная инициализация неконстантной ссылки типа 'std :: function &' из значения типа 'main () ::'
#include <bits/stdc++.h>
using namespace std ;
void printfunction(bool a, function <void()> &b)
{
if (a == true)
{
b() ;
}
}
int main()
{
int value = 45 ;
printfunction(true, [value](){cout << "The value is : " << value ;}) ;
}
Ноошибка исчезает , когда я добавляю const
перед функцией ... вот так:
void printfunction(bool a,const function <void()> &b)
Дело в том, что я хотел бы изменить функцию в справочнике функций, если это необходимо ... Есть ли другой способ сделать это?Пожалуйста, дайте мне знать, если это действительно существует.
PS: я использую Code :: Blocks 16.01
Пока,
Самуил