2.10 常见编程错误(5)

2013-10-07 15:30:06 · 作者: · 浏览: 91

2.10   常见编程(www.cppentry.com)错误(5)

29. 不为函数指定返回值是错误的:

 
如果f返回一个int,声明可改正为:
 
30. main函数的下面两种定义方式是可移植的:
 

在某些执行语句中可能无法正确工作。

31. 因为采用引用返回方式的函数返回的是实际的单元,所以必须保证该单元在函数返回后依然存在,函数

 
包含了一个错误,当f返回i时,i已经不存在了,因此,函数调用者不能访问这个返回的i。如果改用传值返回,就没有这种错误:
 

此处,i的值拷贝到函数调用者可以访问的临时存储空间。

32. 关键字inline用于函数声明而不是函数定义,因此下面的代码是错误的:

 
此处,由于内联函数swap只在它定义的地方到文件结束才可见,所以它对main来说是不可见的,因此编译器将告之找不到swap函数。可按如下方式修正这个错误:
 
33. 默认参数应在函数声明而非函数定义中给出,因此,如下代码是错误的: