c++ - Bjarne 会犯错吗? (在解释模板时),还是我还是不明白?

标签 c++ templates

伙计们,我正在做“C++ 编程语言第 3 版”中的练习。在第 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

关于c++ - Bjarne 会犯错吗? (在解释模板时),还是我还是不明白?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3311528/

相关文章:

c++ - 模板函数和类

c++ - 转发引用是否仍然是右值引用?

c++ - std::vector::resize(size_type) 需要 CopyInsertable?

c++ - 虚拟析构函数 Arduino 由于未定义对运算符删除的引用

c++ - 根据给定的索引集获取参数包的子集

类中的 C++ 模板

c++ - 关于 vector 和删除与其关联的内存的问题

c++ - 当多个目标使用相同的源文件时,如何使用 --save-temps 保留程序集文件?

c++ - push_back 用于将临时容器添加到另一个容器

python - 将 Cython 融合类型转换为 C++ 指针