为什么不在那里调用普通函数?

爵士乐

众所周知,当我们使用普通函数在模板函数中进行函数重载时,如果编译器获得与普通函数的完全匹配,fun()它将调用普通函数fun()并忽略template fun()但是在下面的C ++代码中,当我运行代码时,它将调用模板函数而不是普通函数。为什么?

#include<iostream>
using namespace std;

template<class T1, class T2>
void fun(T1 x, T2 y){
    cout << "TEMPLATE FUNCTION : " << x << " | " << y << endl;
}

void fun(int a, float b){
    cout << "ORDINARY FUNCTION : " << a << " | " << b << endl;
}

int main(){
    fun(3, 4.7);
    return 0;
}

输出量

TEMPLATE FUNCTION : 3 | 4.7
慈济

在此通话中:

fun(3, 4.7);

第二个参数4.7double如您在问题中提到的,仅当参数完全匹配时才调用非模板函数由于非模板函数期望float第二个参数为a ,因此需要从转换doublefloat这不是完全匹配,因此选择了模板。

如果要选择非模板,则将afloat作为第二个参数传递

fun(3, 4.7f);

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么Rails 4会说缺少帮助文件,尽管它在那里?

来自分类Dev

重新绘制窗口后,为什么角色的阴影仍保留在那里?

来自分类Dev

不支持将数据直接绑定到商店查询(DbSet,DbQuery,DbSqlQuery,DbRawSqlQuery)。加载不在那里

来自分类Dev

为什么vim有时显示^ M而有时不显示(即使它们在那里)?

来自分类Dev

为什么函数ls {ls; }挂在那里?

来自分类Dev

如何防止Meteor / Cordova App连接到10.0.2.2?(为什么应用程序在那里连接?)

来自分类Dev

Aapt失踪,但在那里

来自分类Dev

我收到FileNotFoundException但文件在那里

来自分类Dev

“ parcella_pk”在那里不行,它导致“ ValueError”。我应该使用什么?

来自分类Dev

为什么libnettle 2.7.1的.configure找不到-lgmp,即使它在那里?

来自分类Dev

VLC:如何调整播放列表?按钮不在那里

来自分类Dev

为什么我会收到“ -bash:'alias:命令未找到”,但它在那里..?

来自分类Dev

为什么vim有时显示^ M,有时却不显示(即使它们在那里)?

来自分类Dev

jQuery:缩小以居中并留在那里

来自分类Dev

为什么我们在那里使用一个monoid和一个函子?

来自分类Dev

删除函数,而不是使用弃用的注解使其保留在那里是一种好习惯吗?

来自分类Dev

Cookie在那里,但我无法在CodeIgniter中获得它们。为什么?

来自分类Dev

〜/ .config指的是什么以及如何将文件放在那里?

来自分类Dev

当我使用BufferedReader获取HTML时,我需要的部分不在那里

来自分类Dev

xinitrc的奥秘-那里可以有什么,不能在那里有什么

来自分类Dev

守卫声明后预期else,但else在那里,为什么抱怨?

来自分类Dev

为什么在 Windows 10 上安装 Android Studio 后不需要安装 JDK?它已经在那里了吗?

来自分类Dev

为什么我断言元素包含某个字符串失败,即使它在那里?

来自分类Dev

为什么即使我在那里安装了应用程序,我的所有 snap 目录都是空的?

来自分类Dev

杀死#### 但进程还在那里?

来自分类Dev

github 的想法是什么,这些 .zip 文件开发人员在那里共享?

来自分类Dev

VSCode Debugger 只是坐在那里什么也不做

来自分类Dev

在我网站的导航栏中,可点击的部分比我想要的要多。他们为什么在那里?

来自分类Dev

我想将向量的引用传递给函数,然后在那里修改它并作为向量返回

Related 相关文章

  1. 1

    为什么Rails 4会说缺少帮助文件,尽管它在那里?

  2. 2

    重新绘制窗口后,为什么角色的阴影仍保留在那里?

  3. 3

    不支持将数据直接绑定到商店查询(DbSet,DbQuery,DbSqlQuery,DbRawSqlQuery)。加载不在那里

  4. 4

    为什么vim有时显示^ M而有时不显示(即使它们在那里)?

  5. 5

    为什么函数ls {ls; }挂在那里?

  6. 6

    如何防止Meteor / Cordova App连接到10.0.2.2?(为什么应用程序在那里连接?)

  7. 7

    Aapt失踪,但在那里

  8. 8

    我收到FileNotFoundException但文件在那里

  9. 9

    “ parcella_pk”在那里不行,它导致“ ValueError”。我应该使用什么?

  10. 10

    为什么libnettle 2.7.1的.configure找不到-lgmp,即使它在那里?

  11. 11

    VLC:如何调整播放列表?按钮不在那里

  12. 12

    为什么我会收到“ -bash:'alias:命令未找到”,但它在那里..?

  13. 13

    为什么vim有时显示^ M,有时却不显示(即使它们在那里)?

  14. 14

    jQuery:缩小以居中并留在那里

  15. 15

    为什么我们在那里使用一个monoid和一个函子?

  16. 16

    删除函数,而不是使用弃用的注解使其保留在那里是一种好习惯吗?

  17. 17

    Cookie在那里,但我无法在CodeIgniter中获得它们。为什么?

  18. 18

    〜/ .config指的是什么以及如何将文件放在那里?

  19. 19

    当我使用BufferedReader获取HTML时,我需要的部分不在那里

  20. 20

    xinitrc的奥秘-那里可以有什么,不能在那里有什么

  21. 21

    守卫声明后预期else,但else在那里,为什么抱怨?

  22. 22

    为什么在 Windows 10 上安装 Android Studio 后不需要安装 JDK?它已经在那里了吗?

  23. 23

    为什么我断言元素包含某个字符串失败,即使它在那里?

  24. 24

    为什么即使我在那里安装了应用程序,我的所有 snap 目录都是空的?

  25. 25

    杀死#### 但进程还在那里?

  26. 26

    github 的想法是什么,这些 .zip 文件开发人员在那里共享?

  27. 27

    VSCode Debugger 只是坐在那里什么也不做

  28. 28

    在我网站的导航栏中,可点击的部分比我想要的要多。他们为什么在那里?

  29. 29

    我想将向量的引用传递给函数,然后在那里修改它并作为向量返回

热门标签

归档