Pepe 🐸
Та же
V◌┗⢎ℍıK
никто не хочет пописать на пхп?
V◌┗⢎ℍıK
"пописать" не в смысле обоссать
Evgenii
Berkus
Vladislav
Крылатый
Мы тут пилим подкаст по плюсам и нам нужна небольшая помощь с выбором ведущего (ведущих): https://goo.gl/forms/RfS9Sk4Z56ldoThJ2
Anonymous
CppCast'a не хватает?
Крылатый
Да!
Anonymous
не все могут в качество, GolangShow например, после CppCast'a такая хуйня — по крайней мере мне так показалось
это я к тому, что есть шанс скатится в какашку, ну или начать с нее
Anonymous
но вообще, да, подкаст это круто
Constantine
Что-то я все еще очень расстроен этим примером
std::function<void()> lambda = [&] () {
return lambda;
};
Pepe 🐸
Победил проблему в симейке. Как то установил переменную и перебилдил.
Олександр
Nik
Олександр
Berkus
а варнингами про неинициализированную lambda оно тебя не закидывает?
Олександр
Vladislav
Как?
Один тип функций молча кастится к другому
Berkus
а, там капчур, ок
vladislav
а кто учавствует в первом подкасте?
vladislav
о чём будете говорить?
Constantine
Проблема конечно что это мне вчера взорвало ногу примерно вот так
std::function<CStringA()> echo = [](CStringA s){
return s == "" ? "" : s;
}
🦥Alex Fails
Олександр
Ну да, ты не сказал, что у тебя функция должна что-то принимать
Anonymous
Олександр
std::function же темплейт
Vladislav
Constantine
Это что за тернарка такая
Это упрощенный пример. Тернарка возвращает const char * , std::function конвертирует назад в CStringA, до свидания
Anonymous
Я про само условие
Олександр
Крылатый
Vladislav
Vladislav
Но все же
Berkus
prog.cc: In function 'int main()':
prog.cc:9:1: error: conversion from 'main()::<lambda(std::__cxx11::string)>' to non-scalar type 'std::function<std::__cxx11::basic_string<char😠)>' requested
};
ну так и чо
Berkus
где тут выстрел в ногу
Anonymous
Constantine
Berkus
prog.cc: In function 'int main()':
prog.cc:9:1: error: conversion from 'main()::<lambda(std::__cxx11::string)>' to non-scalar type 'std::function<std::__cxx11::basic_string<char😠)>' requested
Berkus
не компилится, покажите работающий пример
Олександр
Там возможен неявный каст в const char*
Berkus
ну приведи тогда класс CStringA, я его за тебя выдумывать буду?
Constantine
Олександр
Это из майкрософтовской библиотеки шаблонов ATL
Berkus
ссылку
Berkus
я не пользуюсь ATL и прочими говноподелиями мс
Berkus
Closed: cannot reproduce
Олександр
https://git.reactos.org/?p=reactos.git;a=blob;f=reactos/sdk/lib/atl/cstringt.h;hb=222cce68149ded6fe2abc5b6295ce982c7e68222#l288
Олександр
Из ReactOS
Anatoly
Berkus
что из этого важно?
Berkus
Там возможен неявный каст в const char*
Constantine
именно
Berkus
и?
Anatoly
Severity Code Description Project File Line Suppression State
Error C2440 'initializing': cannot convert from 'CMFCApplication5App::{ctor}::<lambda_152cda3ab2ae79cb0a18d1c14222c378>' to 'std::function<CStringA (void)>' MFCApplication5 c:\users\stranger\documents\visual studio 2015\projects\mfcapplication5\mfcapplication5\mfcapplication5.cpp 30
Vladislav
Anatoly
разные сигнатуры
Berkus
Berkus
оно ругается на разные сигнатуры да, причем тут неявное приведение?
Constantine
ой сорри
Олександр
Суть в том, что
а) неявные касты - плохо
б) надо обьявлять все нормально
/тхреад
Berkus
Constantine
std::function<CStringA(CStringA)> echo = [](CStringA s){
return s == "" ? "" : s;
}
Constantine
параметр не указал
Олександр
Олександр
Указывай все типы явно и не стреляй себе в ногу
Constantine
Я выбросил std::function и больше не стреляю себе в ногу, да
Олександр
https://www.youtube.com/watch?v=HvEhOKkfoSo
Олександр