gpt4 book ai didi

c++ - boost 函数和 boost lambda

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:16:16 24 4
gpt4 key购买 nike

我已经看到了一些相关的问题,但我仍然感到困惑。这个语法有什么问题:

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> >&)'

最佳答案

您不能直接调用带有占位符的函数。你必须 use bind .

boost::function<int (int)> g2 = 2 * boost::lambda::bind(g, boost::lambda::_1);

( Example )

关于c++ - boost 函数和 boost lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4937136/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com