170 похожих чатов

Есть тип KtaInfo. Данный тип может быть получен или с

помощью конструктора или с помощью метода другого класса. Я хочу по чекбоксу вызывать нужный вариант. Придумал решение в виде лямд. Есть 2 ламбды:

auto transformMsg = [&CalcMath =m_1_5kta, &msg](void) { return KtaInfo(msg); };
transformMsg = [&CalcMath =m_1_5kta, &msg](void){return CalcMath.RecalcUm(msg);};

При отжатии чекбокса вариант получения меняется. Но во втором случае приравнивание не работает. Пишет:

------.cpp:108:38: error: no viable overloaded '='------.cpp:107:46: note: candidate function (the implicit copy assignment operator) not viable: no known conversion from '(lambda...' to 'const (lambda ... for 1st argument
Почему я не могу приравнять лямбды? У них ведь все одинакого кроме тела

7 ответов

23 просмотра

у них нет оператора = и нет оператора копирования

посмотри что там вместо auto

idk
копирования нет, он deleted)

void test(int a) { auto l = [&a](){}; auto l2 = l; } Компилятор не согласен: https://godbolt.org/z/Y8v9ach3a

void, кстати, там необязателен в плюсах

Не совсем понял что ты хочешь. Ты хочешь получить какой то тип? Тебе совсем не обязательно передавать прям тип, ты можешь отдать тому, кому нужен этот тип просто функцию. Не обязательно лямбду. Просто определи функцию, которая отдает требуемый тип (эта функция в своем теле создаст требуемый тип, если надо наполнит его данными и вернет наружу). Ты же отдашь тому, кому нужен тот тип, отдаешь не тип, а эту функцию. То есть это как будто тебе нужен дом и ты звонишь мне и говоришь пришли мне дом, я говорю не могу он не пройдет по почте, я тебе шлю инструкцию (функцию), ты тупо просто выполни все что в ней написано и получишь дом.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта