小hei爵 2015-02-14 09:20 采纳率: 0%
浏览 2018

C++中对调用重载函明确

#include
using namespace std;
#include"math.h"
void main()
{
long int i,x,y;
for(i=1;i {x=sqrt(i+100);
y=sqrt(i+268);
if(x*x==i+100&&y*y==i+268)
cout }
}
错误提示:件\vs2010\visual studio 2010\projects\vsmacros80\samples\平方数\平方数\main.cpp(8): error C2668: “sqrt”: 对重载函数的调用不明确
1> e:\常用软件\vs2010\vc\include\math.h(589): 可能是“long double sqrt(long double)”
1> e:\常用软件\vs2010\vc\include\math.h(541): 或 “float sqrt(float)”
1> e:\常用软件\vs2010\vc\include\math.h(127): 或 “double sqrt(double)”
1> 尝试匹配参数列表“(long)”时
1>e:\常用软件\vs2010\visual studio 2010\projects\vsmacros80\samples\平方数\平方数\main.cpp(9): error C2668: “sqrt”: 对重载函数的调用不明确
1> e:\常用软件\vs2010\vc\include\math.h(589): 可能是“long double sqrt(long double)”
1> e:\常用软件\vs2010\vc\include\math.h(541): 或 “float sqrt(float)”
1> e:\常用软件\vs2010\vc\include\math.h(127): 或 “double sqrt(double)”
1> 尝试匹配参数列表“(long)”时

  • 写回答

5条回答 默认 最新

  • 91program 博客专家认证 2015-02-14 10:10
    关注

    试着写成:
    x=sqrt(i+100.0);
    y=sqrt(i+268.0);
    是不是参数本来要 float 或 double,而你给的却是 int 型。

    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序