У меня есть код, который выводит 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;
^