C ++重载函数作为模板参数

兰卡巴

我的代码的简化版本在这里

int foo(int x)
{
  return x;
}

int foo(int x, int y)
{
  return x+y;
}

template<typename unary_func>
int bar(int k, unary_func f)
{
  return f(k);
}

int main()
{
  bar(3, foo);
  return 0;
}

有没有一种方法可以告诉编译器我要传递的内容,因为参数是第一个“ foo”?

迈克·西摩

您可以给出一个明确的模板参数:

bar<int(int)>(3, foo);

或将模棱两可的函数名强制转换为可从中推导出模板参数的类型:

bar(3, static_cast<int(*)(int)>(foo));

或将其包装在另一个函数(或函数对象)中以消除歧义

bar(3, [](int x){return foo(x);});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

模板参数上的C ++函数模板重载

来自分类Dev

使用类和int参数作为模板的C ++重载operator +

来自分类Dev

C ++模板函数的重载

来自分类Dev

模板函数重载C ++

来自分类Dev

C ++:可变参数模板和函数重载

来自分类Dev

C ++模板函数能否在返回参数上重载?

来自分类Dev

c ++模板-多个重载函数实例与参数列表匹配

来自分类Dev

C ++模板函数重载解析

来自分类Dev

C ++中的模板函数重载

来自分类Dev

成员函数指针的decltype作为c ++ 11中的模板参数

来自分类Dev

C ++:函数指针作为模板参数而不是函子

来自分类Dev

C ++:函数指针作为模板参数而不是函子

来自分类Dev

C ++结构函子作为函数模板参数

来自分类Dev

成员函数指针的decltype作为c ++ 11中的模板参数

来自分类Dev

C ++模板函数别名作为可变参数模板参数

来自分类Dev

C ++模板函数别名作为可变参数模板参数

来自分类Dev

C ++可变参数函数:使用参数数量作为模板参数

来自分类Dev

映射中的C ++结构作为值-错误“没有重载函数的实例与参数列表匹配”

来自分类Dev

使用函数类型与函数指针作为C ++模板函数参数的区别?

来自分类Dev

c ++方法作为模板参数

来自分类Dev

C ++:变量作为模板参数

来自分类Dev

使用关键字作为C函数参数或C ++模板参数

来自分类Dev

C ++模板;作为模板参数传递的函数的自动推论返回类型;

来自分类Dev

如何使用模板类型作为函数参数派生抽象模板类(C ++ 11)

来自分类Dev

C ++:将lambda作为带有模板参数的函数进行传递会使推导模板类型失败

来自分类Dev

C++静态模板类成员作为朋友模板函数默认参数

来自分类Dev

C ++模板自身名称作为相同模板结构函数内部的模板模板参数传递

来自分类Dev

C ++模板函数重载解析错误

来自分类Dev

将模板函数和重载作为函数参数传递

Related 相关文章

  1. 1

    模板参数上的C ++函数模板重载

  2. 2

    使用类和int参数作为模板的C ++重载operator +

  3. 3

    C ++模板函数的重载

  4. 4

    模板函数重载C ++

  5. 5

    C ++:可变参数模板和函数重载

  6. 6

    C ++模板函数能否在返回参数上重载?

  7. 7

    c ++模板-多个重载函数实例与参数列表匹配

  8. 8

    C ++模板函数重载解析

  9. 9

    C ++中的模板函数重载

  10. 10

    成员函数指针的decltype作为c ++ 11中的模板参数

  11. 11

    C ++:函数指针作为模板参数而不是函子

  12. 12

    C ++:函数指针作为模板参数而不是函子

  13. 13

    C ++结构函子作为函数模板参数

  14. 14

    成员函数指针的decltype作为c ++ 11中的模板参数

  15. 15

    C ++模板函数别名作为可变参数模板参数

  16. 16

    C ++模板函数别名作为可变参数模板参数

  17. 17

    C ++可变参数函数:使用参数数量作为模板参数

  18. 18

    映射中的C ++结构作为值-错误“没有重载函数的实例与参数列表匹配”

  19. 19

    使用函数类型与函数指针作为C ++模板函数参数的区别?

  20. 20

    c ++方法作为模板参数

  21. 21

    C ++:变量作为模板参数

  22. 22

    使用关键字作为C函数参数或C ++模板参数

  23. 23

    C ++模板;作为模板参数传递的函数的自动推论返回类型;

  24. 24

    如何使用模板类型作为函数参数派生抽象模板类(C ++ 11)

  25. 25

    C ++:将lambda作为带有模板参数的函数进行传递会使推导模板类型失败

  26. 26

    C++静态模板类成员作为朋友模板函数默认参数

  27. 27

    C ++模板自身名称作为相同模板结构函数内部的模板模板参数传递

  28. 28

    C ++模板函数重载解析错误

  29. 29

    将模板函数和重载作为函数参数传递

热门标签

归档