[英]Boost function and boost lambda
我已經看到了一些相關的問題,但我仍然感到困惑。 這種語法有什么問題:
boost::function<int (int)> g = f;
boost::function<int (int)> g2 = 2*g(boost::lambda::_1);
我在gcc 4.3.4上嘗試使用boost 1.35和1.38(這是我躺在的兩個裝置),它們都給出了錯誤的變化:
no match for call to '(boost::function<int ()(int)>) (const boost::lambda::lambda_functor<boost::lambda::placeholder<1> >&)'
我建議你放棄Boost.Lambda
因為它已經過時了。 支持C ++ 0x的編譯器提供本機lambda並且更容易理解。 您可以使用4.4或更高版本的GCC,Visual Studio 2010也支持C ++ 0x。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.