Template中的默认类型参数

Template中的类型参数可以有默认值,这有点像函数形参中的默认值。如下图所示:


Template中的默认类型参数_第1张图片

Template中的默认类型参数_第2张图片

虽然如此,但是你不能对模版函数也应用此法。



Template中的默认类型参数_第3张图片

但是,C++ Primer Plus说你可以为模版函数和模版类的非类型参数提供默认值,但是经过验证在VS上并不支持在函数模版的非类型参数上使用默认值。
模版函数非类型参数默认值:

Template中的默认类型参数_第4张图片

从这个错误提示来看,函数模版甚至不支持类型默认参数。
再来看在模版类上的默认非类型参数:


Template中的默认类型参数_第5张图片

Template中的默认类型参数_第6张图片

你可能感兴趣的:(Template中的默认类型参数)