我搜索了google / stack overflow等,但我找不到合适/准确的解决方案。我知道最新的C ++版本支持我们可以实现的Lambda函数,而且我知道我们应该避免在另一个函数中定义一个函数。但我很好奇为什么我们不能根据C ++标准在函数内部有函数定义?。
如下:
int print() {
void test(){
// statements
}
}
我知道人们会将此标记为重复,但在这些问题中,没有人给出令人满意的答案,这是我在这里提出的要点。
答案 0 :(得分:0)
我现在记得你可以在前c ++ 11天里仿效它:
foo
甚至可以将其作为bar
内的回调传递。但是你应该注意到这里没有关闭。您无法在 SELECT COUNT(1), orgName
FROM SIGHTING
INNER JOIN SPOTTER USING (spotterId)
INNER JOIN ORG USING (orgId)
GROUP BY orgName
中访问{{1}}的变量。
答案 1 :(得分:-2)
非常确定你可以:
int main() {
auto curry = [] (auto f) {
return [=] (auto x) {
return [=] (auto y) {
return f(x, y);
};
};
};
}