求C语言大神指教,出现有多个重载函数sqrt实例与参数列表匹配,以下是代码

求C语言大神指教,出现有多个重载函数sqrt实例与参数列表匹配,以下是代码,第1张

#include <stdioh>

#include <stdlibh>

#include <mathh>

int main(void)

{

int a,b,c,d;

double x1,x2;

printf("输入a,b,c(a不为0,数据间以空格隔开):");

scanf("%d %d %d",&a,&b,&c);

d=bb-4ac;//b^2在c里面不是平方 ^异或运算符

if(d>=0)//用整形比较才比较精确

{

x1=(-b+sqrt((double)d))/(20a);//说是有多个参数 可以float 可以double 你输入int的编译器不知道转换为哪一种

x2=(-b+sqrt((double)d))/(20a);

printf("方程的根为:%f,%f\n",x1,x2);

}

else

{

printf("方程无实根\n");

}

system("pause");

return 0;

}

<cassert>包含了<asserth> 那个可以在出错的时候指出

Example

/ ASSERTC: In this program, the analyze_string function uses

the assert function to test several conditions related to

string and length If any of the conditions fails, the program

prints a message indicating what caused the failure

/

#include <stdioh>

#include <asserth>

#include <stringh>

void analyze_string( char string ); / Prototype /

void main( void )

{

char test1[] = "abc", test2 = NULL, test3[] = "";

printf ( "Analyzing string '%s'\n", test1 );

analyze_string( test1 );

printf ( "Analyzing string '%s'\n", test2 );

analyze_string( test2 );

printf ( "Analyzing string '%s'\n", test3 );

analyze_string( test3 );

}

/ Tests a string to see if it is NULL, /

/ empty, or longer than 0 characters /

void analyze_string( char string )

{

assert( string != NULL ); / Cannot be NULL /

assert( string != '\0' ); / Cannot be empty /

assert( strlen( string ) > 2 ); / Length must exceed 2 /

}

Output

Analyzing string 'abc'

Analyzing string '(null)'

Assertion failed: string != NULL, file assertc, line 24

abnormal program termination

函数的参数名称是错误的。是否是重载函数,需要给编译器提供足够的信息判断。其主要的依据是函数的名字,参数的类型,函数的返回值类型。

函数的重载其实就是“一物多用”的思想(这里指的“物”是“函数名”),其实不仅是函数可以重载,运算符也是可以重载的。例如:运算符“<<”和“>>”既可以作为移位运算符,又可以作为输出流中的插入运算符和输入流中的提取运算符。

扩展资料

C++运算符重载的相关规定如下:

1、不能改变运算符的优先级。

2、不能改变运算符的结合型。

3、默认参数不能和重载的运算符一起使用。

4、不能改变运算符的 *** 作数的个数。

5、不能创建新的运算符,只有已有运算符可以被重载。

6、运算符作用于C++内部提供的数据类型时,原来含义保持不变。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/11676325.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存