
Aidar
01.06.2017
18:38:58
так нельзя писать же

Constantine
01.06.2017
18:38:59
ну например auto f = [](int(y)){}
это разрешенный сейчас синтаксис

Aidar
01.06.2017
18:39:27
ничеси

Google

Aidar
01.06.2017
18:39:29
зачем

Constantine
01.06.2017
18:39:33
auto f = [](int){}

Alex Фэils?︙
01.06.2017
18:39:47

Aidar
01.06.2017
18:40:19
этож объявление

Constantine
01.06.2017
18:40:48
auto f = [](int(y(int))) {};

Aidar
01.06.2017
18:41:46
ну тип

Kirill
01.06.2017
18:42:00
Ты же на этапе вызова лямбды можешь только узнать кто с кем ее вызвал, собственно а auto это compile time

Aidar
01.06.2017
18:42:00
или ошибка
там речь о том чтоб не писать auto

Constantine
01.06.2017
18:42:20
auto f = [](auto y(int)) {};
мне сейчас вижак скомпилил

Aidar
01.06.2017
18:42:39
да это функция же нет?

Constantine
01.06.2017
18:42:57
ну смотри, x(y) кто тип?

Google

Constantine
01.06.2017
18:43:04
или никто?
выражение auto y(int) означает переменную y

Aidar
01.06.2017
18:43:32
это тип
это тип потомучто нет возвращаемого значения у фукнции
у тебя не тип auto
а тип функция
а у функции должно быть возвращаемое значние

Constantine
01.06.2017
18:44:15
ты говоришь, что должно по умолчанию auto подставляться же

Aidar
01.06.2017
18:44:27
да если подразумевается тип

Alexey
01.06.2017
18:44:47
Немного не в тему вопрос)
Насколько жесткий диск влияет на скорость компиляции?
Если компилировать на ссд, будет ли это заметно быстрее?

Aidar
01.06.2017
18:44:54
да

Constantine
01.06.2017
18:44:56
в смысле, если выражение _похоже_ на объявление переменной?

Aidar
01.06.2017
18:44:58
в рам компилируй
ну по факту тут тип - функция же это явно видно никак иначе не растолковать
тоесть тип задан уже

Владислав
01.06.2017
18:46:02
/

Aidar
01.06.2017
18:46:05
ты говоришь подставлять авто чтоб поменять тип
я говорю подставлять авто только если тип не задан

Constantine
01.06.2017
18:46:41
auto f = [](auto&(x)) {};
опять же, компилируется

Aidar
01.06.2017
18:46:54
да таместь баги с struct x{}
[](x){}

Google

Constantine
01.06.2017
18:47:27
здесь как раз легко, известно, что x тип

Aidar
01.06.2017
18:47:55
чисто синтаксически неизвестно

Constantine
01.06.2017
18:48:19
?
x тип объявлен как тип, с этого момента это тип
вроде весь парсер выражений плюсов ломается, если заранее неясно какие идентификаторы - имена типов

Aidar
01.06.2017
18:52:00
спасибо за подвохи
.

Aldar
01.06.2017
18:52:51

Alex Фэils?︙
01.06.2017
18:53:45

Constantine
01.06.2017
18:57:22
int g(int);
std::string h(int);
auto f = [](auto x(int)) { return x(0); };
f(&g);
f(&h);
как это вообще работает?

Aidar
01.06.2017
18:58:26
как функтор с шаблоном думаю

Constantine
01.06.2017
18:58:51
что такое f?

Aidar
01.06.2017
18:58:58
функтор

Constantine
01.06.2017
18:59:12
класс или переменная или что?

Aidar
01.06.2017
18:59:26
объект анонимного класса
у него стремный тип
лучше его не знать

Constantine
01.06.2017
19:00:25
а, я понял, у этого объекта же просто шаблонный operator()
понял, втупил

Andrey
01.06.2017
19:07:55
В supapro молчат

Google

Andrey
01.06.2017
19:07:55
Как в CMake подключить BLAS?
На Linux
Пытаюсь так
find_package(BLAS REQUIRED)
include_directories( ${BLAS_INCLUDE_DIRS})
target_link_libraries( EVM_M ${BLAS_LIBRARY})
пишет CMake Error at CMakeLists.txt:8 (target_link_libraries):
Cannot specify link libraries for target "EVM_M" which is not built by this
project.

Admin
ERROR: S client not available

Anatoly
01.06.2017
19:42:34
target EVM_M должен быть определен либо через add_executable, либо через add_library
а уже после слинкован с библиотекой посредством target_link_libraries

Big
02.06.2017
06:37:12
Всем привет
Помогите написать код
По блок-схеме

Vladislav
02.06.2017
06:38:28
чего-то тут не хватает
а вообще, такие вопросы - в чат для новичков

Дед Пегас
02.06.2017
06:44:59
#supapro

Group Butler [beta]
02.06.2017
06:44:59
Чат supapro.cxx: https://telegram.me/joinchat/BYlFbD3eN3JMaG34hyh96w

Дед Пегас
02.06.2017
06:45:30
Да, инфы в блоках нет.

Big
02.06.2017
06:58:49

Alexander
02.06.2017
08:16:23
Сказали же, иди в #supapro

Aidar
02.06.2017
08:31:00
в ультрамегапро
https://t.me/joinchat/AAAAAEH2f4R62LrebHWd7g

Google

Александр
02.06.2017
10:48:43
Есть вопрос к ненавистникам UB: http://cpp.sh/2rbzm внутри main()

Stas
02.06.2017
11:12:16
Можно вопрос от новичка (прошу простить), можно же Base(void* c=nullptr) : context(c) {} - он и конструктор по умолчанию и с параметром - сразу двух зайцев не?

Александр
02.06.2017
11:18:05

Stas
02.06.2017
11:25:45
Derived(double a) : Derived (a, nullptr) {// используем context, a } Это не подходит почему? еще раз простите.

Александр
02.06.2017
11:27:19
Потому что контекст будет nullptr, если попытаться его использовать

Stas
02.06.2017
11:28:59
Хм, ладно я не вкурил. просто обе фабрики принимают указатель на context, зачем что-то упрощать.

Александр
02.06.2017
11:31:06
Фабрика и Base будут интерфейсом либы, а вот Derived создаёт пользователь. И не круто каждый раз пилить конструктор очередного Derived с дополнительным аргументом void*. Для этого я придумал вторую фабрику и спрашиваю - насколько правильно её использовать

Constantine
02.06.2017
15:46:40

Александр
02.06.2017
15:47:23

Constantine
02.06.2017
15:47:48
почему нельзя отказаться от наследования?

Александр
02.06.2017
15:48:21

Constantine
02.06.2017
15:48:54
Derived используется по указателю, разве не сработает агрегация с перегрузкой -> ?

Александр
02.06.2017
15:49:50

Constantine
02.06.2017
15:50:55
вроде нет, можно же теперь просто протолкать параметром бывший Base*
ой