Я хочу найти конкретный элемент из массива и затем сместить массив, чтобы удалить этот элемент. У меня есть список целых чисел {1, 2, 3, 4, 5, 6, 7, 8, 9} и вы хотите удалить целое число. 2.Удалить и сдвинуть массив C++
В настоящее время я получаю сообщение об ошибке: размер хранилища 'new_ints' на линии не известно:
int new_ints[];
Не знаете, что это значит или как я могу это исправить?
Вот мой код:
int main() {
int tmp = 2;
int valid_ints[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int new_ints[];
new_ints = stripList(tmp, valid_ints);
for (int i = 0; i < sizeof(new_ints); i++)
cout << new_ints[i] << endl;
return 0;
}
int *stripList (int tmp, int valid_ints[]){
for (int i = 0; i < sizeof(valid_ints); i++){
for (int j = tmp; j < sizeof(valid_ints); j++){
valid_ints[j] = valid_ints[j+1];
}
}
return valid_ints;
}
Компилятор утверждает, правильно, вы не указали время компиляции доступного размера для вашего массива здесь: 'int new_ints [];'. Вместо этого вы предпочитаете использовать 'std :: vector'. –
Используйте 'std :: vector' и' std :: remove'. –
Вы не можете использовать массив в качестве цели назначения - 'new_ints = ...' недопустим. – Barmar