Ym影子 2018-02-01 02:43 采纳率: 100%
浏览 1015
已采纳

关于c++bind的一个语法错误问题

#include
#include
#include
#include
#include
#include
using namespace std;

void outPut(const string&outString)
{
cout << outString << endl;
}
int main()
{
using namespace std::placeholders;
mapmap1;
for_each(map1.begin(), map1.end(), bind(outPut, bind(map::value_type::second, _1)));
system("pause");
return 0;
}
我的问题是:为什么不可以这么做

  • 写回答

2条回答 默认 最新

  • 有点贪玩 2018-02-01 04:16
    关注

    bind是指定可调用实体的某些参数绑定到已有的变量,绑定的应该都是函数。
    bind(map::value_type::second, _1)这个是想把map的value和调用outPut的传入参数绑定在一起啊吗?
    map::value_type::second 应该是没有这个写法的,就算有,那这也仅仅是map中value的类型,一个类型如何跟一个参数绑定呢?
    我是这样看的,有什么问题请指正

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站