函数模板的问题
我现在在看C++ Primer 第三版 10.3节遇到这样一个问题:书中这样说:“
Template <class Type,int size>
Type min(Type(&r_array)[size]) {/*......*/}
为匹配函数参数,函数实参必须也是一个表示数组类型的左值。下面的调用是个错误,因为pval是int*类型而不是int数组类型的左值。
void f(int pval[9]){
//错误: type(&)[]!=int*
int jval=min(pval);
}
”
但下面它举的例子是这样的(前面的用法也这样):
“double da[8]={10.3,7.2,.....}
int i1=min(da)”
void f(int pval[9]){
int jval=min(pval);
}
这种用法到底对不对?
[[it] 本帖最后由 cyru008 于 2008-3-23 12:09 编辑 [/it]]