我正在尝试使用 Boost Phoenix。我的目标是让 stl 算法采用容器而不是迭代器范围,如此处 所述。但是,我在一个相当简单的代码上遇到了一堆错误:
#include <boost/phoenix/stl/algorithm.hpp>
#include <iostream>
#include <vector>
#include <algorithm>
namespace phx = boost::phoenix;
int main(int argc, char ** argv) {
std::vector<int> my_arr{ 0, 1, 2, 3 };
phx::for_each(my_arr, [](int i){std::cout << i << std::endl; });
}
我在两个平台(Win7、Ubuntu)上尝试过,否则我会使用 Boost 的多个部分。
错误消息相当长,所以我将它们放在文件中:
除了没有正确编译模板之外,我真的不能犯很多错误,但我想我错过了一些相当简单的东西。