运行功能时会遇到错误

Getting errors while running a function

本文关键字:遇到 错误 功能 运行      更新时间:2023-10-16

我在尝试使用函数找到向量的中位数时会遇到一些疯狂的错误。我不确定是什么原因导致这些错误。

  1. '错误1错误c2601:'calcmed':本地功能定义是非法的'

我要使用的功能被声明为

#include <iostream>
#include <vector>
#include <string>
#include <iomanip>
#include <algorithm>
using namespace std; 
double calcMed(int, vector<int>& studentScores);
//
double homeworkMed = calcMed(vectorSize, studentScores);
double calcMed(int vectorSize, vector<int>& studentScores)
{
 double median;
  sort(studentScores.begin(), studentScores.end());
  median = studentScores[vectorSize / 2];
  return median;
}

我知道,如果我有一个奇怪的矢量,那将是行不通的,但我只想让第一个工作。任何帮助,将不胜感激。

删除了"双重计算(int vectorsize,vector&amp; studentsCores)"上的半隆",现在我遇到了两个不同的错误,两个错误都在函数名称之后。

两个错误都出现在{

的线上
double calcMed(int vectorSize, vector<int>& studentScores)
{
double calcMed(int vectorSize, vector<int>& studentScores);
{
  double median;
  sort(studentScores.begin(), studentScores.end());
  median = studentScores[vectorSize / 2];
  return median;
}

定义中的函数签名之后,不应有半隆。将第一行更改为 double calcMed(int vectorSize, vector<int>& StudentScores)

链接器错误说它找不到calcAverage()的实现。您是否可能将calcAverage()重命名为calcMed(),并且不更新任何调用此功能?

要解决此错误,我将为calcAverage()搜索您的所有代码,然后将其重命名为calcMed()或为其提供实现。

对不起,我发现了。由于某种原因,我将功能放在我的主()中。在我将其移出括号后,它解决了错误。感谢大家的帮助。