C语言中如何实现函数重载及使用默认参数?

2026-04-29 18:132阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1516个文字,预计阅读时间需要7分钟。

C语言中如何实现函数重载及使用默认参数?

C语言中没有函数重载,C++语言中有函数重载,当函数名相同,参数个数、类型或顺序不同时,即可实现函数重载。例如:

cppvoid sum(int a, int b) { cout <

void sum(int a, double b) { cout <

C语言中没有函数重载
C++语言中有函数重载

函数名相同,参数个数不同、参数类型不同、参数顺序不同

例如下面就是函数重载

void sum(int a, int b){ cout << a+b << endl; } void sum(int a, double b){ cout << a+b << endl; }

返回值类型与函数重载无关

返回值类型与函数重载无关,下面代码不构成重载,编译会报错

//返回值类型与函数重载无关 int func(){ return 0; } double func(){ return 0; }

实参的隐式类型转换可能会产生二义性

不同编译器有不同处理
下面代码在vs上编译不过,但是在Xcode中可以编译通过。

阅读全文

本文共计1516个文字,预计阅读时间需要7分钟。

C语言中如何实现函数重载及使用默认参数?

C语言中没有函数重载,C++语言中有函数重载,当函数名相同,参数个数、类型或顺序不同时,即可实现函数重载。例如:

cppvoid sum(int a, int b) { cout <

void sum(int a, double b) { cout <

C语言中没有函数重载
C++语言中有函数重载

函数名相同,参数个数不同、参数类型不同、参数顺序不同

例如下面就是函数重载

void sum(int a, int b){ cout << a+b << endl; } void sum(int a, double b){ cout << a+b << endl; }

返回值类型与函数重载无关

返回值类型与函数重载无关,下面代码不构成重载,编译会报错

//返回值类型与函数重载无关 int func(){ return 0; } double func(){ return 0; }

实参的隐式类型转换可能会产生二义性

不同编译器有不同处理
下面代码在vs上编译不过,但是在Xcode中可以编译通过。

阅读全文