c++11 - C++11 函数对象不能调用一个目标,这是另一个函数对象
问题描述
我遇到过这样的程序:
#include <iostream>
#include <functional>
#include <string>
std::function<void ()> foo(){
const auto s = std::string("bar");
return [&]{std::cout << s << '\n';};
}
int main()
{
const auto fun = foo();
fun();
return 0;
}
我正在努力理解这个程序有什么问题以及如何解决它。
我的理解是fun
应该能够调用它的目标foo
并打印出来,bar
但没有输出。
我很感激任何帮助!
解决方案
推荐阅读
- java - 玩数字编程挑战(在 java 中查找子数组的平均值)
- android - 如何使用动画按比例缩放 ViewHolder 的宽度?
- javascript - 获取查询参数
- python - 将 MultiPolygons 和 Polygons 列表转换为单个 MultiPolygon
- codeigniter - 如何在共享主机上部署 vue-codeigniter 分离的逻辑应用程序?
- django - ListView 类中的当前用户变量
- python - 如何在python中制作网格?
- sql - Oracle - 具有连接条件的外部连接
- javascript - 使用javascript从日期到日期验证
- r - 如何在 R 中创建分类区域地图