Dans les fonctions C ++, est-il recommandé de remplacer return
par throw
? Par exemple, j'ai le code suivant
// return indices of two numbers whose sum is equal to target
vector<int> twoSum(vector<int>& nums, int target) {
for(int i=0; i<nums.size()-1; ++i)
for(int j=i+1; j<nums.size(); ++j)
{
if(nums[i] + nums[j] == target) return vector<int>{i, j};
}
// return vector<int>{};
throw "no solution";
}
Le code ci-dessus compile avec mon GCC 7.2.