2.10 常见编程错误(6)
2013-10-07 15:30:50
·
作者:
·
浏览: 81
2.10 常见编程(www.cppentry.com)错误(6)
此处,print函数的声明告诉main它有两个int类型参数,这样当main试图不带参数而调用print时将产生错误。可如下进行修改:
34. 所有没有默认值的参数必须出现在参数列表的前面,其后才是有默认值的参数,因此不合法的函数声明
通过删除x的默认值或给i添加一个默认值都能改正该错误。
35. 如果一个参数实没有默认值,当调用函数时必须提供该参数。例如,如果f的声明为
则f的合法调用方式为:
而如下调用方式是非法的:
36. 函数返回类型不是函数签名的一部分,因此如下两个函数是不同的:
37. 要释放一个用new分配的单元,应使用delete而不是delete[]。例如,
38. 要释放用new[]分配的数组,应使用delete[]而不是delete。例如:
39. 对于使用动态方式分配的对象,在该对象超出其作用域之前不使用delete将其删除,是一种不良的编程(www.cppentry.com)习惯:
上面的代码中,一旦程序退出了f,则无法再访问p指针所指向的对象,因此该对象的存储空间应该释放: