我想查找數組中的特定項目,然後移動數組以移除該項目。我有一個整數列表{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