Почему связывание не работает с передачей по ссылке? [Дубликат]
На этот вопрос уже есть ответ:
std :: ссылка привязки теряется при доставке как ссылка rvalue 2 ответаЯ считаю, что передача по ссылке не работает при использовании std :: bind. Вот пример.
int test;
void inc(int &i)
{
i++;
}
int main() {
test = 0;
auto i = bind(inc, test);
i();
cout<<test<<endl; // Outputs 0, should be 1
inc(test);
cout<<test<<endl; // Outputs 1
return 0;
}
Почему переменная не увеличивается при вызове через функцию, созданную с помощью std bind?