gpt4 book ai didi

c++ - 非常基本的模板功能出现问题

转载 作者:行者123 更新时间:2023-11-30 03:44:53 25 4
gpt4 key购买 nike

工作之余,我正在翻阅我的大学教科书,并努力重温以前的作业,以保持敏锐。不过,我在我的旧数据结构书中遇到了这个问题:

template <typename Comparable> 
const Comparable & findMax(const vector<Comparable> & a) {
int maxIndex = 0;

for (int i = 1; i < a.size(); i++) {
if (a[i] > a[maxIndex]) {
maxIndex = i;
}
}

return a[maxIndex];
}

给我错误:

  • 缺少类型说明符 - 假定为 int
  • 无法识别的模板声明/定义
  • 在“<”之前缺少“,”的语法错误

我非常生疏(VB.Net 让我有点虚弱)。

我在这里做错了什么?我已经查看了几个主题,尝试了定义等,但我仍然没有头绪。

最佳答案

我想你忘了#include <vector> .否则它应该工作 well .

顺便说一句:您可能会在 return a[maxIndex]; 之前检查 vector 是否为空.否则可能会返回无效引用,这将导致 UB .

关于c++ - 非常基本的模板功能出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35154820/

25 4 0
文章推荐: c++ - OpenGL 按面着色
文章推荐: android - 使用 omniture 应用测量跟踪错误对话框
文章推荐: c++ - 获得完整整数乘法的高半部分和低半部分
文章推荐: vector use 和 new Object() 的 C++ 编程问题