`

c++ - argument type conversions

    博客分类:
  • c++
c 
阅读更多

During the step of function overload resolution, the compiler identifies and ranks the conversion that can apply to each argument in a function call to convert to the type of the corresponding parameter in each viable function. 

 

possible minor converion in exact match 

 

 

  • Lvalue-to-rvalue converion
  • Array to pointer conversion
  • Function to pointer conversion
  • Qualification conversion

 

below the exact match, it is the pomotion, and actually the rand of the conversion (inlcuding the exact match is as follow):

 

 

  1. Exact match 
  2. Promotion (int -> float -> double)
  3. Standard Conversion (double -> float -> int)
  4. User defined conversion 

 

why the rank is so important, it is because during the overload function selection, there are rules for better ranked conversion.

 

 

  • The conversion applied to the arguments are no worse than the conversion necessary to call any other viable function. 
  • The conversion on some arguments are better than the conversions necesary for the ame arguments when calling the other viable functions.
分享到:
评论

相关推荐

    Cannot invoke setId on bean class 'class ' - argument type mismatch - had object

    标题 "Cannot invoke setId on bean class 'class ' - argument type mismatch - had object" 描述的是一个在使用Spring框架或者类似的依赖注入容器时常见的错误。这个错误通常发生在尝试通过容器设置一个对象属性,...

    Python库 | polidoro-py-argument-2.1.0.tar.gz

    "Python库 | polidoro-py-argument-2.1.0.tar.gz"是一个与Python相关的库,其版本为2.1.0,被打包成tar.gz格式的压缩文件。这个库的名字叫做“polidoro-py-argument”,从名称可以推测它可能专注于处理命令行参数或...

    devtoolset-9-gcc-c++-9.3.1-2.2.el7.x86_64.rpm

    离线安装包,亲测可用

    typed-argument-parser:Python的类型化参数解析器

    Tap具有以下优点: 静态类型检查代码完成源代码导航(例如,转到定义并转到...安装Tap需要Python 3.6+ 要从PyPI安装Tap,请运行: pip install typed-argument-parser要从源代码安装Tap,请运行以下命令: git clone ...

    ERR-INVALID-ARGUMENT(解决方案).md

    ERR-INVALID-ARGUMENT(解决方案).md

    Access-variable-argument-lists-demo.rar_ARGUMENT!

    在编程中,"Access variable-argument lists" 是一个关于函数调用的重要概念,尤其是在C/C++等编程语言中。这个标题暗示我们将会讨论如何在程序中处理可变数量的参数。这种技术允许函数接受不同数量的参数,为编程...

    Encountered-an-improper-argument问题方法

    keil升级5.25pre(临近几个...会提示Error: Encountered an improper argument 主要解决办法就是替换UV4.exe,可以将低版本中的UV4.exe直接替换 具体操作看:https://blog.csdn.net/u011624093/article/details/80880708

    Python库 | ReCAP-Argument-Graph-0.1.40.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:ReCAP-Argument-Graph-0.1.40.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    redis-argument-parser

    用法 var parser = require ( 'redis-argument-parser' )var command = new parser . RedisCommand ( 'mset' ) // or 'MSET'var types = command . parseInputs ( [ 'k1' , 1 , 'k2' , 2 ] )console . log ( types )...

    Passing-a-structure-as-a-function-argument.zip_ARGUMENT!

    在C语言中,传递结构体作为函数参数是一种常见的编程技巧,用于在函数之间共享和处理复杂的数据结构。本文将深入探讨这一主题,包括其工作原理、优缺点以及如何实际操作。 1. 结构体的基本概念 ...

    (完整word)重庆大学c++-A卷.doc

    x argument inside f() HowMany objectCount = 2 after call to f() HowMany objectCount = 1 ~HowMany() 这个程序演示了类HowMany的使用,包括构造函数、析构函数和静态成员变量的使用。 3. 程序执行结果和分析...

    node-cli-argument-parser:自动解析传递的字符串数组并创建一个对应的对象

    `node-cli-argument-parser`是一个专门用于解析Node.js CLI应用中传递的字符串数组,并将其转化为易于处理的对象的工具。这个库可以帮助开发者更高效地管理和理解用户在命令行中输入的参数。 在JavaScript的世界里...

    apollo-link-fragment-argument:Apollo链接,可对片段进行参数化

    用法安装$ npm i apollo-link-fragment-argument配置阿波罗客户端import { ApolloClient } from "apollo-client" ;import { InMemoryCache } from "apollo-cache-inmemory" ;import { from } from "apollo-link" ;...

    pip 错误unused-command-line-argument-hard-error-in-future解决办法

    在我的Mac Air上,用pip安装一些Python库时,偶尔就会遇到一些报错,关于“unused-command-line-argument-hard-error-in-future”,错误如下:复制代码 代码如下:cc -fno-strict-aliasing -fno-common -dynamic -...

    考满分GRE作文系列(2)-Argument题库1

    在GRE考试中,Analytical Writing部分一直是考生最为关注的难点之一,这部分分为Issue和Argument两个任务,每个任务都要求考生具备高度的批判性思维和逻辑分析能力。尤其是Argument部分,它不仅考察考生是否能识别和...

    Argument-dependent name lookup 参数依赖查找

    在C++编程语言中,参数依赖查找(Argument-dependent lookup,简称ADL)或者称为参数依赖名称查找,是用于查找未限定名称函数的一种机制,其查找过程依赖于传递给函数调用的参数类型。这种查找方式也被称为Koenig...

    ember-argument-types:动态输入模板参数

    ember install ember-argument-types 用法 arg-type helper根据作为第二个参数传递的验证器来处理类型检查参数。 验证器是一种特殊的字符串或用于验证参数的函数。 有关基本和高级用法,请参见下文。 基本验证 基本...

    ignore-argument:像 Function.prototype.bind 部分应用忽略参数

    在 NPM 和 bower 上可用,名称为ignore-argument 。 有时你需要创建临时函数只是为了忽略一些参数 function foo ( a , b ) { ... }function bar ( cb ) { // calls cb with 3 arguments! cb ( 'foo' , 'a' , 'b' ) ...

    Thesis-Argument-Mining-Transfer-Learning

    《Thesis-Argument-Mining-Transfer-Learning》这个主题聚焦于自然语言处理(NLP)领域中的论点挖掘和迁移学习技术。论点挖掘是NLP的一个子领域,旨在自动识别和提取文本中的论点、立场和证据。而迁移学习在机器学习...

    ezzy-argument:一个轻量级的库,用于从环境或节点参数中获取参数

    这将寻找以下参数: process.env.my_argument process.env.MY_ARGUMENT process.argv ['-MY_ARGUMENT'] process.argv ['-MY_ARGUMENT'] process.argv ['-my_argument'] process.argv ['-my_argument'] 最后返回...

Global site tag (gtag.js) - Google Analytics