函数参数过多

2024-02-02

我从我的头文件中收到此错误:too many arguments to function void printCandidateReport();。我对 C++ 相当陌生,只需要一些正确方向的指导来解决此错误。

我的头文件如下所示:

#ifndef CANDIDATE_H_INCLUDED
#define CANDIDATE_H_INCLUDED

// Max # of candidates permitted by this program
const int maxCandidates = 10;

// How many candidates in the national election?
int nCandidates;

// How many candidates in the primary for the state being processed
int nCandidatesInPrimary;

// Names of the candidates participating in this state's primary
extern std::string candidate[maxCandidates];

// Names of all candidates participating in the national election
std::string candidateNames[maxCandidates];

// How many votes wone by each candiate in this state's primary
int votesForCandidate[maxCandidates];

void readCandidates ();
void printCandidateReport ();
int findCandidate();
#endif

以及调用此头文件的文件:

#include <iostream>
#include "candidate.h"
/**
* Find the candidate with the indicated name. Returns the array index
* for the candidate if found, nCandidates if it cannot be found.
*/
int findCandidate(std::string name) {
    int result = nCandidates;
    for (int i = 0; i < nCandidates && result == nCandidates; ++i)
        if (candidateNames[i] == name)
            result = i;
    return result;
}

/**
* Print the report line for the indicated candidate
*/
void printCandidateReport(int candidateNum) {
    int requiredToWin = (2 * totalDelegates + 2) / 3; // Note: the +2 rounds up
    if (delegatesWon[candidateNum] >= requiredToWin)
        cout << "* ";
    else
        cout << "  ";
    cout << delegatesWon[candidateNum] << " " << candidateNames[candidateNum]
         << endl;
}

/**
* read the list of candidate names, initializing their delegate counts to 0.
*/
void readCandidates() {
    cin >> nCandidates;
    string line;
    getline(cin, line);

    for (int i = 0; i < nCandidates; ++i) {
        getline(cin, candidateNames[i]);
        delegatesWon[i] = 0;
    }
}

为什么我会收到此错误以及如何修复它?


在头文件中声明:

void printCandidateReport ();

但在实施上是:

void printCandidateReport(int candidateNum){...}

将头文件更改为

void printCandidateReport(int candidateNum);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

函数参数过多 的相关文章

随机推荐

  • SQLAlchemy 记录日期和用户的更改

    这与另一个 3 年前的问题非常相似 查看 SQLAlchemy 事务 包括经过身份验证的用户等 的通用方法是什么 https stackoverflow com questions 1862029 whats a good general
  • 在 Android Studio 中配对蓝牙设备

    我正在创建一个应通过蓝牙连接到特定设备的应用程序 我希望我的应用程序能够与该设备连接 无论它是否已配对 现在我有这个 private void findDevice Set
  • 在不使用 contenteditable 的情况下,防止 Firefox iframe 中的选择显示为灰色

    在 Firefox 3 及更高版本 可能还有更旧的版本 中 在 iframe 中选择内容似乎总是使用当前没有焦点的文档所使用的灰色选择背景颜色 即使 iframe 确实有焦点 我发现的唯一例外是 iframe 中的内容是可编辑的 在其他浏览
  • Graphx 可视化

    我正在寻找一种方法来可视化在 Spark 的 Graphx 中构建的图 据我所知Graphx没有任何可视化方法 所以我需要将数据从Graphx导出到另一个图形库 但我被困在这里 我遇到了这个网站 https lintool github i
  • SQL Server JDBC 的驱动程序类名是什么

    我想将我的 Java Spring Boot 应用程序连接到 SQL Server 并得到 Spring 无法加载驱动程序类的信息 我试过 spring datasource driver class name com microsoft
  • 如何在网页中隐藏 javascript 代码?

    当通过浏览器的 查看源代码 功能查看源代码时 是否可以从网页的 html 中隐藏 Javascript 代码 我知道可以混淆代码 但我更喜欢它hidden从查看源功能 我不确定其他人是否真的直接解决了您的问题 即从浏览器的 查看源代码 命令
  • 版本陷入“已拒绝”状态

    我想删除我们用于测试的旧发布模板 以清理发布管理 但是当我尝试停用模板时 我收到以下消息 要停用此版本模板 任何使用此版本的版本 模板必须具有以下状态之一 已发布 已放弃 好吧 这个消息是有道理的 我必须完成一些未完成的版本 要么完成该过程
  • 如何将 Postman 集成测试与 TeamCity 集成

    我正在 Postman 中构建一套集成测试来测试一些 RESTful API 我想在 TeamCity 中构建项目时运行这些测试 我正在考虑使用纽曼命令行集成 但我没有找到很好的例子 谁能建议一种方法来实现这一点 我能够使用 newman
  • 以编程方式关闭特定包的 java.util.logging

    我正在使用一个 SDK 它使用阿帕奇CXF http cxf apache org 内部 Apache CXF 使用java util logging默认情况下用于日志记录的包 我想更改日志记录级别INFO to WARNING或完全关闭它
  • 使用 chai-http 和 Jest 进行测试时,如何从 api 返回响应

    我正在尝试使用下面的代码测试我的节点 api 索引端点 索引 test js const chai require chai const chaiHttp require chai http const server http localh
  • Java 异常 - 线程“main”中的异常 java.lang.NoClassDefFoundError: net/sourceforge/tess4 j/Tesseract

    我试图让事情与 tess4j OCR 算法 一起工作 并且我使用以下代码 import java awt image RenderedImage import java io File import java net URL import
  • 复制 .docx 并保留图像

    我正在尝试将文档的元素从一个文档文件复制到另一个文档文件 文本部分很简单 图像是棘手的地方 附加图像来解释文档的结构 只有一些文本和 1 张图像 from docx import Document import io doc Documen
  • Xcode:如何将 MP4 文件转换为音频文件

    我想将应用程序文档文件夹中的 MP4 文件转换为音频文件 mp3 或 m4a 我已经尝试过 但无法使用 AVPlayer 播放转换后的 MP3 文件 这是我的代码 void convertMP4toMP3withFile NSString
  • Android 中的 Google 地图上的标记闪烁

    我刚刚开始Android应用程序开发 按照本教程开发了Google地图应用程序并在Google地图上添加了标记 http mobiforge com developing story using google maps android ht
  • 获取用户头像大小的照片

    我正在使用 C 开发 Facebook 网站应用程序 我可以使用以下方式获取信息 FacebookClient FBApp new FacebookClient getAccessToken dynamic user FBApp Get m
  • g++编译错误

    我是 Ubuntu 的新手 我尝试编写一个简单的 Hello World Ubuntu 11 04 中的 c 代码 该代码 在终端中 gcc Wall W Werror tex cpp o tex 但编译器返回了很多错误 tmp ccL8c
  • 用于本地化的流畅 NHibernate 映射

    我正在尝试从 NHibernate 映射构建数据库 但遇到了问题 我有许多具有本地化字符串值的类 public class MyClass1 public virtual int Id get set public virtual Shor
  • 如何创建私有类方法?

    这种创建私有类方法的方法是如何工作的 class Person def self get name persons name end class lt lt self private def persons name Sam end end
  • Dart 异常:已经为元素 x 注册了(聚合物)原型

    我有两个共享相同飞镖文件的聚合物元件 在 dart 文件中 我声明了两个 PolymerElement 类 直到聚合物 0 15 0 1 都工作正常 我已将项目更新为聚合物 0 15 1 现在出现此异常 Exception Already
  • 函数参数过多

    我从我的头文件中收到此错误 too many arguments to function void printCandidateReport 我对 C 相当陌生 只需要一些正确方向的指导来解决此错误 我的头文件如下所示 ifndef CAN