此代码中没有匹配功能

No matching function for call in this code

本文关键字:功能 代码      更新时间:2023-10-16

这是另一个"当我获得'call'-eRror'无匹配函数时,我的代码中戴了什么"。问题在于,有关这些问题的问题是特定的,并且通常不适用于代码。我的问题也很具体。

我的代码:


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&amp; thelist,int number)

您可能想做的就是 vector::insert(iterator position, const value_type& val) val插入 position之前的 CC_4。

因此,您必须告诉编译器getNumber的实际功能以及如何将其int转换为iterator。它可能与answer.begin() + getNumber(answer, nums[i])一样简单,但最好更改getNumber直接返回iterator