gpt4 book ai didi

c++ - C++创建头文件时,多个重载函数实例与参数列表匹配

转载 作者:行者123 更新时间:2023-12-02 09:49:35 26 4
gpt4 key购买 nike

在程序的主文件中,我有以下声明

int main()
{
Customer c;
Part p;
Builder b;
auto partsVec = readpartFile();
auto customerVec = readcustomerFile();
auto builderVec = readbuilderFile();

fexists("Parts.txt");
complexity(c, partsVec);
robotComplexity(partsVec,customerVec);
writeFile(buildAttempt(b, complexity(c, partsVec), variability(customerVec, builderVec)));
}

我的头文件包含以下内容
vector<Part> readpartFile();

vector<Customer> readcustomerFile();

vector<Builder> readbuilderFile();

float complexity(const Customer& c, const std::vector<Part>& parts);

void robotComplexity(vector<Part> vecB, vector<Customer> vecC);

double variability(const vector<Customer>& customerList, const vector<Builder>& builderList);

vector<double> buildAttempt(Builder b, double variaiblity, double complexityRobot);

void writeFile(vector<double> build);

除robotComplexity外,所有功能都链接在一起。我在main中对此函数的声明产生了以下错误。

一个以上的重载函数“robotComplexity”实例与参数列表匹配:-函数“robotComplexity(const std::vector>&parts,const std::vector>&customers)”-函数“robotComplexity(std::vector> vecB ,std::vector> vecC)“-参数类型为:(std::vector>,std::vector>)

即时通讯不知道为什么即时通讯收到此错误或如何解决

最佳答案

header 中的声明与定义(也可以用作声明)之间不匹配:

  • void robotComplexity(vector<Part> vecB, vector<Customer> vecC);
  • void robotComplexity(const vector<Part>& vecB, const vector<Customer>& vecC);

  • 参数名称可能不匹配,而类型名称不能匹配,否则,您将创建另一个重载。

    关于c++ - C++创建头文件时,多个重载函数实例与参数列表匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61299926/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com