С помощью повышение :: феникс :: функции Я столкнулся с некоторыми проблемами. Насколько я знаю, эта ленивая функция запрашивает функтор в качестве параметра шаблона. Я должен определить класс / структуру функтора и затем передать его в качестве параметра шаблона для создания экземпляра. Но это слишком долго и излишне. Могу ли я использовать другой вызываемый тип для phoenix::function
создание (ссылка на функцию / указатель и т. д.)? Я старался lambdas
:
const auto foo = [] { cout <<"Test"; }
const boost::phoenix::function<decltype(foo)> lazy;
но позвони lazy()
не компилируется. Таким образом, вопрос есть ли альтернативы вместо классов функторов для быстрой однострочной phoenix::function
создание?
Так как тип foo
не является конструируемым по умолчанию, lazy
нужен инициализатор:
boost::phoenix::function<decltype(foo)> lazy { foo };
Других решений пока нет …