) (int)”-6ren"> ) (int)”-在阅读这个问题之前请注意,这是一个针对 hp codewars(编程竞赛)的实践问题,我并不是在论坛上询问真正的问题。我的程序应该接受以下输入: 代表 jar 里糖果数量的数字 用户将输入的猜测数 一-6ren">
gpt4 book ai didi

c++ - 我不断收到错误 "no match for call ' (std::vector) (int)”

转载 作者:太空狗 更新时间:2023-10-29 20:12:11 25 4
gpt4 key购买 nike

在阅读这个问题之前请注意,这是一个针对 hp codewars(编程竞赛)的实践问题,我并不是在论坛上询问真正的问题。我的程序应该接受以下输入:

  • 代表 jar 里糖果数量的数字
  • 用户将输入的猜测数
  • 一个人的名字,后跟一个空格,然后是他们的猜测

例子:

  • 422: jar 里的糖果数量
  • 2:猜测次数
  • Joe 324:猜测者的名字和他们对 jar 里有多少糖果的猜测
  • Mary 435:第二次猜测和猜测

输出应该是猜得最接近的人的名字

例子:

  • 玛丽

我目前正在编写返回最接近猜测数字的函数。但是,当我运行代码时,出现错误 no match for call '(std::vector<int>) (int)在两条线上。在我的代码的注释中指出了发回错误的行。

这是我的代码:

vector<int> compare(vector<int> nums, int loopnum, int ans){
vector<int> buff2;
for (int i = 0; i<loopnum;i++){
vector<int>diff;
int buff = ans - nums.at(i);
for (int j = 0; j<loopnum; j++){
diff.push_back(buff);
for (int k = 0; k<diff.size(); k++){
if (k == 0){
buff2.push_back(diff.at(k));
}
else{
// this line is sending back an error
if ((abs(buff2(0))) > abs(diff.at(k))) {
buff2.clear();
buff2.push_back(diff.at(k));
}
// this line is also sending back an error
else if ((abs(buff2(0))) == abs(diff.at(k))){
buff2.push_back(diff.at(k));
}
}
}
}
}
return buff2;
}

请帮我解决这个问题!

最佳答案

buff2(0) 应该是 buff2[0]buff2.at(0)

关于c++ - 我不断收到错误 "no match for call ' (std::vector<int>) (int)”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28921142/

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