Я продолжаю получать эту ошибку «Контроль может достигнуть конца не пустой функции». Может ли кто-нибудь помочь мне пройти? Я застрял здесь. Спасибо.
bool Vector_double::erase(int ind1, int ind2){
if(ind1 >= count || ind2 >= count || ind1 >= ind2){
if(ind1 == ind2){
erase(ind1);
return true;
}
return false;
}
else{
double *narr = new double[count - ind2 - 1];
for(int i = ind2 + 1; i < count; ++i){
narr[i - ind2 - 1] = arr[i];
}
for(int i = ind1; i < ind1 + count - ind2 - 1;++i){
arr[i] = narr[i - ind1];
}
count = count - (ind2 - ind1) - 1;
}
}
Ваша функция обещает что-то вернуть (bool
). Тем не менее, код содержит пути, которые ничего не возвращают. Чтобы исправить эту ошибку, начните с документирования (простым английским языком) того, что возвращаемое значение должно выражать. Затем настройте свой код.
Других решений пока нет …