私はブースト鳳凰のための初心者だけど、私は小さなコードを書きましたが、それは完全に実行シーケンスについて私を混乱させる、あなたはコードphoenix :: lambda関数の実行順序は何ですか?
std::vector<int> v;
v.push_back(1);
ph::for_each(v,
ph::lambda[ph::ref(cout)<<"a",
ph::ref(cout)<<"b"
])(v);
ph::for_each(arg1,
ph::lambda[ph::ref(cout)<<"a",
ph::for_each(v,
ph::lambda[ph::ref(cout)<<"b",
ph::ref(cout)<<"c"
]),
ph::ref(cout)<<"d"
])(v);
第一の出力は、「AB」 ですが、確認することができます2番目の出力は "dbca"
私は間違いをしましたか?
いいえ、私は間違いをしますが、違いは戻り値の型です、公式のものは戻り値Fです、私自身のものは無効です、おそらくこれは問題です。 –