伙计们,我正在做《C++ 编程语言第三版》的练习。第 340 页有一个函数示例:
template <class T, class C = Cmp<T> > // Here is a default argument
// But as far as I'm concerned it's illegal to have a default argument in
// a function template
int compare (const String<T>& str1, const String<T>& str2)
{
/*Some code*/
}
所以我的问题是:
是书上有错误还是我理解错了?
是的,这本书在这种情况下是错误的。在函数模板声明中使用默认模板参数确实是非法的。
您可以在此处找到该问题的参考http://www2.research.att.com/~bs/3rd_issues.html http://www2.research.att.com/~bs/3rd_issues.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)