Как передать значение в лямбда-функцию

Попробуйте переключить User и Settings в предложении from:

SELECT 
        `u`.`usr_auto_key` AS `u__usr_auto_key`, 
        `s`.`set_auto_key` AS `s__set_auto_key`, 
        `u2`.`usr_auto_key` AS `u2__usr_auto_key`, 
        `u2`.`set_auto_key` AS `u2__set_auto_key`, 
        `u2`.`value` AS `u2__value` 
        FROM `Setting` `s`, `Users` `u`
        LEFT JOIN `User_Setting` `u2` ON `u`.`usr_auto_key` = `u2`.`usr_auto_key` 
        WHERE (`s`.`sct_auto_key` = 1 AND `u`.`usr_auto_key` = 1 AND admin_property is null)
1
задан gsamaras 18 January 2019 в 12:31
поделиться

1 ответ

Вы не можете сделать это & ​​mdash; аргументы по умолчанию не достаточно сложны. Даже если бы они были, это не было бы ужасно ясным кодом.

Просто напишите перегрузку!

void testLambda(const char* input, const char* output)
{
     std::cout << input << ' ' << output << '\n';
}

void testLambda(const char* input)
{
    return testLambda(input, input);
}

Или, если вы не хотите этого делать:

void testLambda(const char* input, const char* output = nullptr)
{
     std::cout << input << ' ' << (output ? output : input) << '\n';
}

(а затем переименуйте функцию: P) [ 112]

Нет необходимости усложнять этот шаблон.

0
ответ дан Lightness Races in Orbit 18 January 2019 в 12:31
поделиться
Другие вопросы по тегам:

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