Здравствуйте. Этот код:
std::function<void(std::string&)> str = &std::string::clear;
не компилируется в VS2013. Это баг или фича? Без ссылки компилируется, но потом вызов происходит для копии строки, а не для оригинала.
Понятно, что можно прибиндить через std::bind, но это лишние вызовы и нежелательная кодолапша. При этом boost::function работает как надо.
Здравствуйте, Went, Вы писали:
W>не компилируется в VS2013. Это баг или фича? Без ссылки компилируется, но потом вызов происходит для копии строки, а не для оригинала.
W>Понятно, что можно прибиндить через std::bind, но это лишние вызовы и нежелательная кодолапша. При этом boost::function работает как надо.
Баг, в 2015 пофиксили.
Ссылка на коннект не пашет, но есть в
гуглокеше
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.