Call of Overloaded Function is ambiguous
error: Call of Overloaded Function is ambiguous
看例子吧
#include<iostream>using namespace std;int sum(int a,int b){return a+b;
}int sum(float a, float b){return a+b;
}int main(){cout << sum(1.3, 2.7);return 0;
}
这段代码编译会报这种错误 error: call of overloaded ‘f(double&)’ is ambiguous
错误原因是因为 sum(1.3, 2.7) 的调用在编译器看来, 1.3 和 2.7 是 double 类型, 因此sum(int a, int b) 和 sum(float a, float b) 都是合适的候选调用对象.
编译器不知道你到底想要哪一种, 因此就会报该错误.
解决方式
解决方式就是显示的指定你要哪一种. 例如本例中, 可以在 1.3 后面加上 f 后缀就可以了
结论
引起来错误的原因就是编译器遇到了选择困难, 在编译器角度来看, 有多个候选调用均合适的情况下,
它必须要编程人员确认到底要哪一种调用是正确的, 因此会抛出该错误, 由编程人员明确指定.
Call of Overloaded Function is ambiguous相关推荐
- C++三角函数用法错误error C2668: 'tan' : ambiguous call to overloaded function原因及解决方法
注意tan.atan等三角函数不能接受整数,如:tan(1)会报错"error C2668: 'tan' : ambiguous call to overloaded function&qu ...
- 函数重载二义性:error C2668: 'pow' : ambiguous call to overloaded function
2013-07-08 14:42:45 当使用的函数时重载函数时,若编译器不能判断出是哪个函数,就会出现二义性,并给出报错信息. 问题描述: 在.cpp代码中用到pow函数,如下: long int ...
- call of overloaded 'xxx' is ambiguous
这里定义了一个模版函数,功能同STL里的copy函数: #include <vector> #include <list> #include <iostream>t ...
- 记录错误:NotImplementedError: Wrong number or type of arguments for overloaded function
最近做项目,接触到GDAL库,在网上找了教程,按照教程提示安装成功,但是做坐标转换的时候,程序一直报错,然而在本地跑时是没有任何问题的 File "/home/py_server/ers/z ...
- error C2556: 'void __thiscall......overloaded function differs only by return type from 'int __thisc
error C2556: 'void __thiscall......overloaded function differs only by return type from 'int __thisc ...
- Wrong number or type of arguments for overloaded function ‘CoordinateTransformation_TransformPoint‘
升级python环境时gdal出现缺少proj的问题 gdal在做坐标转换时报出如此的错误.原系统的代码没有改变,为了更新sentinelhub包,将python环境由3.6升级至3.7.升级了pyt ...
- cesium1.102和以上的版本,自定义材质报‘texture2D‘ : no matching overloaded function found错误
今天更新了cesium版本,发现自定义材质报'texture2D' : no matching overloaded function found 查了一下cesium日志,发现原因是从1.102版本 ...
- QOpenGl报错:QOpenGLShader::compile(Fragment): ERROR: 3:6: ‘texture‘ : no matching overloaded function
最近因为工作所需,需要采用GPU绘制视频,那么就需要学习OpenGL了: 在学习纹理时,接触的第一个例子是<霍亚飞-Qt Creator快速入门_第三版>中第12章-12.4-使用纹理绘图 ...
- C++的error C2668: 'pow' : ambiguous call to overloaded function错误原因及解决方法
1.错误代码 #include <iostream> #include <cmath>using namespace std;int main() {float a;a = p ...
最新文章
- Error: Module build failed: TypeError: this.getResolve is not a function at Object.loader
- java环境变量(win10 java8)
- 北大AI公开课2019 | 雷鸣:人工智能革命与机遇
- LINQ体验系列文章导航
- c语言两个程序合并一起运行,这两个程序如何可以在一起运行
- php调用mysql库_PHP调用三种数据库的方法(1)
- 1812:网格_指导设计:网格的历史
- Android进阶——深入浅出Handler(一)
- 产品结构bom设计 mongodb_产品结构设计·塑胶件热熔设计节选
- 【SLAM笔记】三维刚体运动
- javascript事件之:谈谈自定义事件
- Unix操作系统常用命令
- Vim快捷键(三):剪切复制粘贴
- fiddle下载安装教程
- 环境规划与管理--知识点总结
- 别错过这张AI商用清单:你的生产难题可能被一个应用解决!
- HyperLynx(二十二)DDR(五)DDRx总线时序模型设计
- win10专业版 1909 netkeeper错误代码137
- pads-logic
- windows下守护sqlserver进程并将bat注入服务