3.15 带空参数表的函数
优质
小牛编辑
128浏览
2023-12-01
在 C++ 中,空参数表可以用 void 指定或括号中不放任何东西。下列声明:
void print();
指定函数 print 不取任何参数,也不返回任何值。图 3.18 演示了 C++ 声明和使用带空参数表的函数的方法。
编程技巧 3.11
虽然函数先定义后使用时可以省略函数原型,最好也提供函数原型。提供函数原型可以避免代码使用时受到函数定义顺序的限制。(这个顺序可能随程序的演变而改变)。
// Fig. 3.18: fig03_l$.cpp // Functions that take no arguments #include <iostream.h> void functionl(); void function2(void); int main(){ functionl(); function2(); return 0; } void functionl(){ cout << "functionl takes no arguments" << endl; } void function2(void){ cout << "function2 also takes no arguments" << endl; }
输出结果:
functionl takes no arguments function2 also takes no arguments
可移植性提示 3.3
C++ 中带空参数表的函数含义和C语言中大不相同。在 C 语言中,它表示不对所有参数检查(即函数调用可以传入任何变量),而在 C++ 中则表示函数不取任何参数。这样,使用这个特性的 C 语言程序在 C++ 中编译时可能产生语法错误。
介绍省略问题后应该注意,文件中在任何函数调用之前进行定义的函数不需要另外加上函数原型。这时函数首部就当作函数原型。
常见编程错误 3.25
除非提供每个函数的函数原型或先定义再使用每个函数,否则不能编译 C++ 程序。