错误 2 error C2668: “sqrt”: 对重载函数的调用不明确

原出错代码:#include "stdio.h"
#include "math.h"
void main()
{
  int i=1,m,k=1;
  printf("请输入数字:");
  scanf("%d",&m);
  k=sqrt(m);
  for(;i<k;i++)
  {
    if(m%k==0)
        break;
  }
  if(i>k)
  {
  printf("是素数");
  }
  else
  {
  printf("不是素数");
  }
}

解决方法

 k=sqrt((float)m);

原文地址:https://www.cnblogs.com/zyz322/p/12228305.html

时间: 2024-08-12 06:46:37

错误 2 error C2668: “sqrt”: 对重载函数的调用不明确的相关文章

重载函数的调用匹配规则

重载函数的调用匹配,依次按照下列规则来判断: 精确匹配:参数匹配而不做转换,或者只是做微不足道的转换,如数组名到指针.函数名到指向函数的指针.T到const T: 提升匹配:即整数提升(如bool到int.char到int.short到int),float到double: 使用标准转换匹配:如int到double.double到int.double到long double.Derived*到Base*.T*到void*.int到unsigned int: 使用用户自定义匹配: 使用省略号匹配:类

虚函数与重载函数的区别

1 重载函数要求函数具有相同的返回值类型和函数名称,并具有不同的参数序列,而虚函数则要求这三项(函数名,返回值类型,参数序列)完全相同 2 重载函数可以是成员函数或友元函数 而虚函数只能是成员函数 3 重载函数的调用是以传递参数序列的差别作为调用不同函数的依据,而虚函数根据对象的不同的调用不同类的虚函数 4 虚函数在运行期间表现出多态功能,这是c++的精髓,而重载函数则在编译时表现出多态 一般来讲,虚函数是一种特殊的重载,即必须被重载的函数,一般函数可以不被重载.一个函数被声明为虚函数,目的就是

在类的成员函数中调用delete this

在类的成员函数中能不能调用delete this?答案是肯定的,能调用,而且很多老一点的库都有这种代码.假设这个成员函数名字叫release,而delete this就在这个release方法中被调用,那么这个对象在调用release方法后,还能进行其他操作,如调用该对象的其他方法么?答案仍然是肯定 的,调用release之后还能调用其他的方法,但是有个前提:被调用的方法不涉及这个对象的数据成员和虚函数.说到这里,相信大家都能明白为什么会这样 了. 根本原因在于delete操作符的功能和类对象的

错误 1 error LNK2019: 无法解析的外部符号 __imp__pthread_create,该符号在函数 _main 中被引用 解决方法

晚上花几分钟在windows下测了下pthread的用法,出现错误 1 error LNK2019: 无法解析的外部符号 __imp__pthread_create,该符号在函数 _main 中被引用 经网上搜,反正都没解决,其中一个说引入#pragma comment(lib, "pthreadVC2.lib")后解决,但笔者遇到的不是这个原因,而是版本问题.可参考http://www.cnblogs.com/zhjh256/p/6364777.html解决.

模板函数(template function)出现编译链接错误(link error)之解析

总的结论:    将template function 或者 template class的完整定义直接放在.h文件中,然后加到要使用这些template function的.cpp文件中. 1. 现象描述 类似于参考文献[1],当我们以如下方式使用模板函数时,会出现模板函数声明.定义分离带来的链接错误: 1 // File "foo.h" 2 template<typename T> 3 extern void foo(); 1 // File "foo.cpp

重载函数

出现在相同的作用域中的两个函数,如果具有相同的名字而形参表不同.则称为 重载函数(overloaded function) 任何程序都仅有一个main 函数的实例.main 函数不能重载 函数重载和重复声明的区别 如果两个函数声明的返回类型和形参表完全匹配,则将第二个函数声明视为第一个的重复定义. 如果两个函数的形参表完全相同,但返回类型不同,则第二个声明是错误的.(然而  使用const  是可以被重载 的)   函数不能仅仅基于不同的返回类型而实现重载,但是可以基于const  (常量性)

(转:)Visual Studio 2012 编译错误【error C4996: &#39;scanf&#39;: This function or variable may be unsafe. 】的解决方案

在VS 2012 中编译 C 语言项目,如果使用了 scanf 函数,编译时便会提示如下错误: error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 原因是Visual C++ 2012 使用了更加安

[转]Visual Studio 2012 编译错误【error C4996: &#39;scanf&#39;: This function or variable may be unsafe. 】的解决方案

原文地址:http://www.cnblogs.com/gb2013/archive/2013/03/05/SecurityEnhancementsInTheCRT.html 在VS 2012 中编译 C 语言项目,如果使用了 scanf 函数,编译时便会提示如下错误: error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecat

Visual Studio 2012 编译错误【error C4996: &#39;scanf&#39;: This function or variable may be unsafe. 】的解决方案(转载)

转载:http://www.th7.cn/Program/c/201303/127343.shtml 原因是Visual C++ 2012 使用了更加安全的 run-time library routines .新的Security CRT functions(就是那些带有“_s”后缀的函数),请参见: <CRT函数的安全增强的版本> 下面给出这个问题的解决方案: 方法一:将原来的旧函数替换成新的 Security CRT functions. 方法二:用以下方法屏蔽这个警告: 1. 在预编译