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

А можно как-то написать IILE без return ? auto Print =

[]() -> void { puts("Lambda"); }(); // wrong

auto Print = []() -> void { puts("Lambda"); return 0; }(); // Good
вроде ж явно указываю тип возвращаемого значения....

18 ответов

19 просмотров

Второй вариант не должен собираться, там же -> void

Danya🔥
Первый тоже

Да, не заметил

Сергей- Автор вопроса
Alexander Karaev
Второй вариант не должен собираться, там же -> voi...

да, опечатался auto Print = []() { puts("Lambda"); return 0; }(); // Good

Сергей- Автор вопроса
Danya🔥
Первый тоже

так и вопрос - почему первый вариант не рабочий?

Мне кажется, здесь вызов лямбды лишний. Или же лишняя переменная

Сергей- Автор вопроса
Danya🔥
https://t.me/supapro/908283 Ответь на вопрос)

не увидел вопрос сорри. я в принципе не хочу никакой переменной ничего присваивать ) - значит надо избавляться и от Print/ Хочу чтоб оно ( в данном примере) просто напечатало что-то.

Сергей
не увидел вопрос сорри. я в принципе не хочу никак...

Ну что по твоему является результатом выражения []() { puts("Lambda"); }() ?

Сергей- Автор вопроса
Alexander Karaev
Мне кажется, здесь вызов лямбды лишний. Или же лиш...

ну это пример просто - так то я это использую как ускорялку, например : auto const fastIO = []() { std::ios_base::sync_with_stdio(false); std::cin.tie(nullptr); std::cout.tie(nullptr); return 0; }();

Сергей- Автор вопроса
Danya🔥
Ну что по твоему является результатом выражения []...

результатом работы хочу видеть действие - которое в фигурных скобках.

Сергей
результатом работы хочу видеть действие - которое ...

Я не спросил что ты хочешь видеть Я спросил что является результатом выражения

Сергей
да.

Тогда ответ уже дали - если лямбда ничего не вернет, то и присваивать некуда. Поэтому приходится костылить с возвратом int. Вот был бы regular void..

auto Print = ([]{ puts("Lambda"); }(), 1); Но это явно не совсем желаемое решение

Сергей- Автор вопроса
Ofee Oficsu
auto Print = ([]{ puts("Lambda"); }(), 1); Но это...

))) совсем не желаемое даже ) спасибо. вроде объяснили уже )

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
2
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта