函数重载二义性:error C2668: 'pow' : ambiguous call to overloaded function
2013-07-08 14:42:45
当使用的函数时重载函数时,若编译器不能判断出是哪个函数,就会出现二义性,并给出报错信息。
问题描述:
在.cpp代码中用到pow函数,如下:
long int MaxInteger = pow( 2,8*sizeof(long int) -1 );
编译,报错为:
error C2668: 'pow' : ambiguous call to overloaded function
error C2668: 'pow' : ambiguous call to overloaded function
1> d:\program files\microsoft visual studio 10.0\vc\include\math.h(583): could be 'long double pow(long double,int)'
1> d:\program files\microsoft visual studio 10.0\vc\include\math.h(581): or 'long double pow(long double,long double)'
1> d:\program files\microsoft visual studio 10.0\vc\include\math.h(535): or 'float pow(float,int)'
1> d:\program files\microsoft visual studio 10.0\vc\include\math.h(533): or 'float pow(float,float)'
1> d:\program files\microsoft visual studio 10.0\vc\include\math.h(497): or 'double pow(double,int)'
1> d:\program files\microsoft visual studio 10.0\vc\include\math.h(122): or 'double pow(double,double)'
根据给出的信息,可知pow函数有6种重载函数,编译器根据给定的参数不能判断代码中使用的是哪个函数,因此报错。
解决办法:
可通过指定参数的类型解决,如下:
MaxInteger = (long int) pow( (float)2,(int)( 8*sizeof(long int) - 1 ) )
这样,编译器就直达是要用'long double pow(long double,int)'这个函数了。
转载于:https://www.cnblogs.com/youngforever/p/3177921.html
函数重载二义性:error C2668: 'pow' : ambiguous call to overloaded function相关推荐
- C++的error C2668: 'pow' : ambiguous call to overloaded function错误原因及解决方法
1.错误代码 #include <iostream> #include <cmath>using namespace std;int main() {float a;a = p ...
- C++三角函数用法错误error C2668: 'tan' : ambiguous call to overloaded function原因及解决方法
注意tan.atan等三角函数不能接受整数,如:tan(1)会报错"error C2668: 'tan' : ambiguous call to overloaded function&qu ...
- error C2668: ‘abs‘ : ambiguous call to overloaded function
if (abs (dwRet - 2048000) <= 16000) 改成 if (abs ((long)(dwRet - 2048000)) <= 16000)
- QOpenGl报错:QOpenGLShader::compile(Fragment): ERROR: 3:6: ‘texture‘ : no matching overloaded function
最近因为工作所需,需要采用GPU绘制视频,那么就需要学习OpenGL了: 在学习纹理时,接触的第一个例子是<霍亚飞-Qt Creator快速入门_第三版>中第12章-12.4-使用纹理绘图 ...
- ambiguous reference to overloaded definition(scala与java重载逻辑不匹配)
0.美图 1.问题 Error:(108, 47) ambiguous reference to overloaded definition, both method toJSONString in ...
- 函数重载导致的二义性
函数重载主要是一个匹配问题,分为精准匹配,提升匹配和类型转换匹配三种: 精准匹配 #include<iostream> #include "string.h" usin ...
- error C2668
error C2668: "sqrt": 对重载函数的调用不明确 解决方案: if ( sqrt(dx*dx + dy*dy )< currentCircleRadius) ...
- 利用函数重载编写函数max_彻底理清重载函数匹配
今日分享:直者内不以自欺,外不以欺人,心有所好恶而如其实以出之者也.--<中国哲学史> 前言 前面我们讲到了<什么是函数重载?>,有了函数重载之后,就需要确定某次调用需要选用哪 ...
- C++函数重载的概念
C++函数重载的概念 重载的起源 自然语言中,一个词可以有许多不同的含义,即该词被重载了.人们可以通过上下文来判断该词到底是哪种含义."词的重载"可以使语言更加简练.例如" ...
最新文章
- Spring中的这些坑,99%的程序员都踩过
- oracle 数据分析函数,ORACLE分析函数(一)
- jquery技巧(持续更新。。)
- Android 4.0 Launcher源码分析系列(二)
- Mac os + Flask + PyCharm python开发环境集成
- EOS Keosd概述
- python自动化办公选择题_Python +Selenium 自动化 css练习题
- dpl直播源_上千个高清无码直播源,爽歪歪!
- mariadb 存储引擎mysql_MySQL/MariaDB---查询缓存与存储引擎
- 快快编程kkcoding/太戈编程Tiger AI答案库 (每月更新)第三期 答案仅供参考,不能保证100%的准确性
- KPEG123压电蜂鸣器驱动电路
- SV学习(9)——随机函数、数组约束、随机控制
- es中索引对象包含数组子节点时, 查询和聚合的统计需要注意的问题。
- Python 内建函数 - complex([real[, imag]])
- 数据库添加账号(mongoDB)
- python调用大漠多线程_大漠插件多线程绑定窗口登录游戏、程序全停、单停、恢复...
- 风控策略和模型的区别_风控策略
- 知识型员工的普遍特点(摘录)
- Unity变换矩阵之如何构建变换矩阵
- CTFshow_web入门_文件包含
热门文章
- html一个空格多少像素,一个空格占几个字符?
- 在oracle数据库中显示异常,Oracle数据库出现ORA-01034错误的解决方案
- arm中断保护和恢复_嵌入式ARM系统异常和中断处理知识总结
- 卸载cuda_NVIDIA驱动和CUDA安装
- rsync android app,如何rsync到android
- 单选按钮带文字_一分钟教会你用Word添加单选框和复选框
- C/C++课程设计 之学生管理系统(一)
- 不使用session,借助redis实现验证码
- matlab中如何调用gpu进行并行计算_极致安卓-Termux/Aid learning开启WebGL手机GPU并行计算...
- php 高效判断是否登录,php 判断用户是否登录