eRicardo 2022-04-21 11:36
浏览 255
已结题

关于#VS#的问题,如何解决?报错:Debug assertion failed! Expression:vector subscript out of range

出现

img

#include <bits/stdc++.h>

using namespace std;

#define max 200

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        for (int i = 0; i < nums.size() - 1; ++i)
        {
            int sub_num = target - nums[i];
            if (sub_num > 0)
            {
                for (int j = i + 1; j < nums.size() - 1; ++j)
                {
                    if (nums[j] == sub_num)
                    {
                        return { i,j };
                    }
                }
            }
        }

        return {};
    }
};

int main(void)
{
    int num[max];
    int a, i = 0;
    while (cin >> num[i++])if (cin.get() == '\n')break;
    vector <int>nums;
    nums.push_back(a);
    Solution s1;
    int ser;
    cin >> ser;
    vector <int>ans;
    ans = s1.twoSum(nums, ser);
    cout << ans[0] << " " << ans[1];

    return 0;
}

这是Leetcode 第1,两数之和

img


把它放VS上就出现了越界错误

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 4月29日
    • 创建了问题 4月21日