当前位置:  开发笔记 > 编程语言 > 正文

当对象本身是参数时,使用类函数作为默认参数

如何解决《当对象本身是参数时,使用类函数作为默认参数》经验,为你挑选了1个好方法。

我不知道是否可能,但我想做这样的事情:

template 
int search(T array, int first = 0, int last = array.size())
{

}

这里T应该是一个容器,我想知道它的大小并将其用作默认参数.那可能吗?

编辑:是的,犯了一个错误,它不是T而是数组.



1> R Sahu..:

你不能使用T.size()因为T不是一个对象.

您可以使用函数重载来完成您正在尝试的操作.

template 
int search(T const& array, int first, int last)
{
}

template 
int search(T const& array, int first = 0)
{
   return search(array, first, array.size());
}

PS我改变了阵列的类型T const&T.这将阻止在调用函数时进行复制.

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有