关于类模板的参数列表问题
……问题是来自C++基础教程的,我也是最后调试成您说的答案。但是我不确定是教程例子的错误还是pair类与命名空间的冲突导致的?后面的<int>是实例化,前面加的<T>怎样...
……
问题是来自C++基础教程的,我也是最后调试成您说的答案。但是我不确定是教程例子的错误还是pair类与命名空间的冲突导致的?后面的<int>是实例化,前面加的<T>怎样理解比较好?望指点一下!^.^ 展开
问题是来自C++基础教程的,我也是最后调试成您说的答案。但是我不确定是教程例子的错误还是pair类与命名空间的冲突导致的?后面的<int>是实例化,前面加的<T>怎样理解比较好?望指点一下!^.^ 展开
2个回答
展开全部
说实在话,我有好几年没摸C++了,当时回答这个题目是我刚好在学C++,顺便就回答了一下。
我刚才在网上查了一下资料,这个加<T>应该是语法规定的,你不加的话连编译都过不了。不知道你为什么会这么提问,是你的书误导你了吗?。。你自己也可以用这组关键字“C++ 类模板成员函数 类外定义”百度一下
另外,那个pair的命名确实是会导致冲突的,我刚才就用VS2013试了,提示“ambiguous symbol”。或许不同的编译器会有不同吧,VS2013应该是默认引入了STL,毕竟它是“标准模板库”嘛,符合“标准”的编译器都要引入的。你那书估计比较旧,当时用的编译器也比较旧。
我当时学C++看的书是《C++ Primer plus(第6版)中文版》,里面虽然有一些明显的翻译小错误,但这书整体还是不错的。建议你可以拿它来看看里面关于类模板的章节。
我刚才在网上查了一下资料,这个加<T>应该是语法规定的,你不加的话连编译都过不了。不知道你为什么会这么提问,是你的书误导你了吗?。。你自己也可以用这组关键字“C++ 类模板成员函数 类外定义”百度一下
另外,那个pair的命名确实是会导致冲突的,我刚才就用VS2013试了,提示“ambiguous symbol”。或许不同的编译器会有不同吧,VS2013应该是默认引入了STL,毕竟它是“标准模板库”嘛,符合“标准”的编译器都要引入的。你那书估计比较旧,当时用的编译器也比较旧。
我当时学C++看的书是《C++ Primer plus(第6版)中文版》,里面虽然有一些明显的翻译小错误,但这书整体还是不错的。建议你可以拿它来看看里面关于类模板的章节。
追问
首先谢谢!那是来自一篇百度文库的资料《C++基础教程》的一个完整的例子,由于复试用C++,正好我也看到了那个地方,就是现在已经编译不过。
现在我根据你的提示大致可以认为算是语法上的改进吧,早期的规则之后或多或少都有变化,刚开始学习C语言很容易纠结书上的例子到了自己手里运行不起来,现在已经没有时间纠结了,哈哈。(PS:大牛都说思想才是最重要的嘛!)
谢谢推荐的书。
来自:求助得到的回答
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询