从 boost::function 中提取参数

Extracting argument from boost::function

我有这样的代码

int foo(int x) {
    cout<<"Argument passed x = "<<x;
    return x;
}
int main() {
    boost::function<void ()> fn = boost::bind(foo, 10);
    // can I get 10 out of fn object
    // if (fn._1 == 10) {
    //    return;
    //}
    fn();
}

我想实现一个逻辑,即如果 fn - 第一个参数为 10,则不执行 fn。可能吗?

boost visit_each 设施可能是门票 - 但因为它是 实验和未记录的 我没有更多信息......

哦等等,我知道:这实际上是您想要的 their example, compiled and executed on ideone.com,显示。