【发布时间】:2013-11-23 23:29:03
【问题描述】:
我正在尝试掌握 C++ 中的 lambda。
这是我的代码(为便于理解而简化的变量):
template <typename Container>
void do_function(const Container& c, const item &w){
complex<double> a(w.x1, w.y1);
complex<double> b(w.x3, w.y3);
for_each(begin(c), end(c), [] {
p->inner_function(a, b);
});
}
我知道 p 没有任何意义,它只是为了说明我想要做什么。
本质上,我想在任何类型的容器(列表/向量等)上使用此函数,该容器包含名为 Animal 的抽象类的指针实例。这些实例都有一个“inner_function(complex, complex)”的实现。
我想在 for_each 循环中使用 C++ 11 中的 lambda 在其中的每一个上调用该函数..
不过网上的例子都有些混乱。
【问题讨论】:
-
你在做什么有什么问题?
-
对于初学者来说,'p' 没有被声明,显然没有指定'捕获模式',所以它不知道 a 和 b 是什么。