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

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 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错
  • ¥15 换yum源但仍然用不了httpd
  • ¥50 C# 使用DEVMOD设置打印机首选项