簡體   English   中英

使用boost :: phoenix :: function解決問題

[英]Troubles with boost::phoenix::function

使用boost :: phoenix :: function我遇到了一些問題。 據我所知,這個懶函數重新驗證函數作為其模板參數。 我必須定義一個仿函數類/結構,然后將其作為模板參數傳遞給實例化。 但它太長而且多余。 我可以為phoenix::function creation(函數引用/指針等)使用其他一些可調用類型嗎? 我試過lambdas

 const auto foo = [] { cout <<"Test"; }
 const boost::phoenix::function<decltype(foo)> lazy;

但是調用lazy()沒有編譯。 所以問題是快速單行phoenix::function creation有沒有替代functor類的替代品?

由於foo的類型不是默認的可構造的, lazy需要初始化器:

boost::phoenix::function<decltype(foo)> lazy { foo };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM