что я вернусь в случае, если мой 2d векторный размер равен 0 - PullRequest
0 голосов
/ 05 октября 2019

У меня есть код, который выводит 2-мерный vector. Я хочу вернуть стандартное значение, если мой размер вектора равен 0 (представляющий, что вектор пуст). Я искал в Интернете, но не могу найти удовлетворительное решение.

Код:

vector<vector<int>> threeSum(vector<int>& nums) {


        vector<vector<int>> res;
        int a=nums[0],sum=0,b;
        for (int j=1;j<nums.size()-1;j++){
            b=nums[j];
            sum=a+b;
            if (search(-sum,nums,j+1)){
                vector<int> v;
                v.push_back(a);
                v.push_back(b);
                v.push_back(-sum);
                res.push_back(v);
            }
        }

        return res;
Last executed input : []

Ошибка:

Line 923: Char 34: runtime error: reference binding to null pointer of type 'value_type'(stdlib.h)    

Традиционно я использую return 0 втакой случай, но теперь он выдает ошибку.

Редактировать: Если мой код:

 vector<vector<int>> threeSum(vector<int>& nums) {
        if (nums.size()==0)
            return 0;
        vector<vector<int>> res;
        int a=nums[0],sum=0,b;
        for (int j=1;j<nums.size()-1;j++){
            b=nums[j];
            sum=a+b;
            if (search(-sum,nums,j+1)){
                vector<int> v;
                v.push_back(a);
                v.push_back(b);
                v.push_back(-sum);
                res.push_back(v);
            }
        }

        return res;

ошибка :

solution.cpp: In member function threeSum
Line 13: Char 20: error: could not convert '0' from 'int' to 'std::vector<std::vector<int> >'
             return 0;
                    ^

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...