关于函数模板
为什么对于char*类型上面函数无法偏特化,但用重载的话,又无法把数组的维数传进去?以及怎样重载 ,求解。(具体点,谢谢)
要求:设计一个函数模板,能够从int、char、float、double、long、char*等类型的数组找出最大值元素。提示:可用类型参数传递数组、用非类型参数传递数组大小,为了找出char*类型数组中的最大值元素,需要对该类型进行重载或特化
[解决办法]
template <class Iter>
void func(Iter begin, Iter end) {
Iterator_traits<Iter>::value_type ...
}
真正特化偏特化的是iterator_traits吧
[解决办法]
char*不包含数组类型的dimension和rank。
用非类型参数N以数组引用的形式如char(&)[N]传递数组类型信息。