这是另外一个“当我收到'没有匹配的调用函数'错误时,我的代码所承受的麻烦”。问题在于,有关该问题的问题是特定的,实际上并不能真正应用于一般代码。我的问题也很具体。
我的代码:
string largestNumber(vector<int>& nums)
{
string finalAnswer = "";
vector<int> answer{nums[0]};
if (nums.size() == 1)
{
return toStringconverter(nums[0]);
}
else
{
for (int i = 1 ; i < nums.size() ; i++)
{
answer.insert(getNumber(answer, nums[i]), nums[i]);
}
}
for(int i = 0 ; i < answer.size() ; i++)
{
finalAnswer = finalAnswer + toStringconverter(answer[i]);
}
}
我在
answer.insert(getNumber(answer, nums[i]), nums[i]);
-line中收到错误。这是leetcode编码站点上问题的解决方案的一部分。对不起,网络解释更好。 getNumber返回一个int。
int getNumber(vector&theList,int number)
最佳答案
您可能想要做的是vector::insert(iterator position, const value_type& val)
,将val
插入position
之前的answer
中。
因此,您必须告诉编译器getNumber
实际做什么,以及如何将其int
转换为iterator
。它可能和answer.begin() + getNumber(answer, nums[i])
一样简单,但是最好更改getNumber
以直接返回iterator
。
关于c++ - 此代码中没有匹配的调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55042326/