首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

模板实参推演有关问题

2012-02-28 
模板实参推演问题c++primer中的一段代码:template classType,intsizeTypemin(Type(&r_array)[size]){/*.

模板实参推演问题
c++primer中的一段代码:


template <class   Type,int   size>

Type   min(Type   (&r_array)[size]){/*........*/}

void   f(int   pval[9])
{
int   jval=min(pval);//错误:Type   (&)[]!=int   *


还有一段代码:
double   da[8]={10.3,7.2,14.0,3.8,4.3,8.8,8.8,8.8}
int   i1=min(da);//ok!


da和pval不都是指针吗,为什么一个可以一个不可以???
书上说为了匹配函数参数,函数实参必须也是一个表示数组类型的左值,我应该是没有理解这里,麻烦指点指点

[解决办法]
Q1:
void f(int pval[9])
==>
void f(int (&pval)[9])

Q2: 编译器问题,VC6.0对模版支持不好.

热点排行