bool IsTheMagicNumber(int number, int magic_number)
{
return number == magic_number;
}
using NumberValidator = std::function;
NumberValidator check_is_magic = std::bind(IsTheMagicNumber, std::placeholders::_1, 42);
std::cout
Похоже, что по какой -то причине типы не могут быть выведены из подписи предиката, когда я пытаюсь использовать его. Однако даже указание типов в вызове, он не компилируется, потому что результат от std :: bind не соответствует подписи NumberValidator , а вывод компилятора довольно сложно для меня, чтобы использовать:
. () (int, int), int &&, int &&)> :: value, bool (&) (bool () (int, int), int &&, int &&), bool (&) (int, int), const std :: _ Placeholder &, int> :: type '(aka' _bind (em> (em> (em> (Em>) :: type '(aka' _bind (em> (Em>) :: type '(aka' _bind : int> :: тип std :: _ Placeholder , int)) (bool (*) (int, int), int &&, int &&)> ') к' numbervalidator '(aka' function ')
>
Подробнее здесь: [url]https://stackoverflow.com/questions/79696215/easiest-way-to-invert-the-boolean-return-value-of-a-function-passed-to-stdbind[/url]
Допустим, у меня есть следующий код: < /p> [code]bool IsTheMagicNumber(int number, int magic_number) { return number == magic_number; }
using NumberValidator = std::function; NumberValidator check_is_magic = std::bind(IsTheMagicNumber, std::placeholders::_1, 42);
std::cout Похоже, что по какой -то причине типы не могут быть выведены из подписи предиката, когда я пытаюсь использовать его. Однако даже указание типов в вызове, он не компилируется, потому что результат от std :: bind не соответствует подписи NumberValidator , а вывод компилятора довольно сложно для меня, чтобы использовать:
. () (int, int), int &&, int &&)> :: value, bool (&) (bool () (int, int), int &&, int &&), bool (&) (int, int), const std :: _ Placeholder &, int> :: type '(aka' _bind (em> (em> (em> (Em>) :: type '(aka' _bind (em> (Em>) :: type '(aka' _bind : int> :: тип std :: _ Placeholder , int)) (bool (*) (int, int), int &&, int &&)> ') к' numbervalidator '(aka' function ')
При запуске моего кода с помощью main.py и config.py я получаю config.testing обратно как str, а не bool.
Репо/ветвь здесь:
или с исходным кодом
# src/app/main.py