Почему связывание не работает с передачей по ссылке? [Дубликат]

На этот вопрос уже есть ответ:

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?

Ответы на вопрос(1)

Ваш ответ на вопрос