C与C++ 无参函数的区别解析

在《C++ 编程思想》:“关于无参函数声明,C与C++有很大的差别。在C语言中,声明int fun1(),意味着一个可以有任意数目和类型的函数;而在C++中,指的却是一个没有参数的函数”
 

下面是一个C语言的函数和C++的函数验证了这段话

复制代码 代码如下:

# include<stdio.h>

int fun1();

int main()
{
 int a = fun1(3, 4);
 printf("%dn", a);
 return 0;
}

int fun1(int a, int b)
{
 return a + b;
}

结果没有任何问题,输出结果为7,也即fun()可以声明fun(int, int)

复制代码 代码如下:

# include<iostream>
using namespace std;

int fun1();

int main()
{
 int a = fun1(3, 4);
 cout << a << endl;

 return 0;
}

int fun1(int a, int b)
{
 return a + b;
}

编译出错,“fun1”: 函数不接受 2 个参数。说明在C++中fun()不可以声明fun(int, int)

 

时间: 2024-11-03 15:09:26

C与C++ 无参函数的区别解析的相关文章

C与C++ 无参函数的区别解析_C 语言

下面是一个C语言的函数和C++的函数验证了这段话 复制代码 代码如下: # include<stdio.h> int fun1(); int main(){ int a = fun1(3, 4); printf("%d\n", a); return 0;} int fun1(int a, int b){ return a + b;} 结果没有任何问题,输出结果为7,也即fun()可以声明fun(int, int) 复制代码 代码如下: # include<iostre

JavaScript中Null与Undefined的区别解析

  这篇文章主要介绍了JavaScript中Null与Undefined的区别解析,本文给出了多个代码实例讲解它们之间的区别,需要的朋友可以参考下 在JavaScript中存在这样两种原始类型:Null与Undefined.这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是Undefined? Undefined类型只有一个值,即undefined.当声明的变量还未被初始化时,变量的默认值为undefined. Null类型也只有一个值,即null.nu

Photoshop图层中不透明度和填充区别解析

给各位Photoshop软件的使用者们来详细的解析分享一下图层中不透明度和填充的区别. 解析分享: 有朋友问,填充和不透明度有什么区别,什么时候该用不透明度?什么时候该用填充?今天@P大点S微博 用通俗易懂的方式给同学们科普一下这两者的区别,案例生动形象,值得一读. 填充和不透明度都是图层的一个选项,其位置都是位于图层面板选项.   "不透明度"(Opacity),这个很好理解吧,就是图层的透明度."填充fill"呢,什么意思?我们先看一张图.   看上去,不透明度

php中静态类与静态变量用法区别解析

 static是定义一个静态对象或静态变量,关于static 定义的变量或类方法有什么特性我们看完本文章的相关实例后就见分晓了.   1. 创建对象$ob ject = new Class(),然后使用"->"调用:$ob ject->attribute/function,前提是该变量/方法可访问.   2. 直接调用类方法/变量:class::attribute/function,无论是静态/非静态都可以,但是有前提条件. A. 如果是变量,需要该变量可访问. B. 如果

Python中lambda的用法及其与def的区别解析_python

python中的lambda通常是用来在python中创建匿名函数的,而用def创建的方法是有名称的,除了从表面上的方法名不一样外,python中的lambda还有如下几点和def不一样: 1. python lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而def则会把函数对象赋值给一个变量. 2. python lambda它只是一个表达式,而def则是一个语句. 下面是python lambda的格式,看起来非常精简. lambda x: print x 如果你在pyt

C++用new创建对象和不用new创建对象的区别解析

在C++用new创建对象和不用new创建对象是有区别的,不知你是否清楚的了解它们到底有什么样的区别呢?下面小编就用示例来告诉大家吧,需要的朋友可以过来参考下   我们都知道C++中有三种创建对象的方法,如下: 复制代码 代码如下: #include <iostream> using namespace std; class A { private:     int n; public:     A(int m):n(m)     {     }     ~A(){} }; int main()

android4.0与2.3版本的TP代码区别解析_Android

通常来说在android2.3上调试TP时,只需要把linux驱动调通,android就可以正常使用了.但是到了android4.0上又有些不同了,针对linux驱动,需添加如下一些内容: 1.在手指按下时需调用如下函数上报Key Down: input_report_key(struct input_dev *input, BTN_TOUCH, 1); 2.在手指释放时需调用如下函数上报Key Up: input_report_key(struct input_dev *input, BTN_

dhtml shtml xhtml的区别解析_经验交流

dhtml:  确切地说,DHTML只是一种制作网页的概念,实际上没有一个组织或机构推出过所谓的DHTML标准或技术规范之类的.DHTML不是一种技术.标准或规范,DHTML只是一种将目前已有的网页技术.语言标准整和运用,制作出能在下载后仍然能实时变换页面元素效果的网页的设计概念.  DHTML大致包含以下网页技术.标准或规范:  HTML 4.0  没什么好说的,网页的基础语言标准.  CSSL  注意!不是CSS,是CSSL,它是Clent-Side Scripting Language的缩

return和break的区别解析_C 语言

复制代码 代码如下: /*  Name:return和break的区别   Copyright: By.不懂网络  Author: Yangbin  Date:2014年2月25日 02:13:22   Description:以下代码无实际意义,只用来区分return和break的区别. */#include <stdio.h>void a(void){    int i;    for(i=0;i<5;++i)    {        printf("AAAA\n"