c++原型与ANSI原型

函数原型不必多讲,它向编译器指出了函数的返回类型及参数个数及类型。

ANSI C借鉴了c++中的原型,但两种语言还是有区别的。其中最重要的区别是,为与基本C兼容,ANSI C 中的原型是可选的,但在c++中,原型是必不可少的。

例如,请看下面的函数声明:

void say_hi();

在c++中,括号为空与在括号中使用关键字void是等效的——意味着函数没有参数。在ANSI C中,括号为空意味着不指出参数——这意味着将在后面定义参数列表。

在c++中,不指定参数列表时应使用省略号:

void say_bye(...); //c++abdication of responsibility

通常,仅当与接受可变参数的C函数(如printf())交互时才需要这样做。

猜你喜欢

转载自www.cnblogs.com/19990219073x/p/10833066.html